面向对象

一、类和对象

1、类:是多个类别事物组成的群体的统称。能够帮助我们快速理解和判断事物的性质

2、数据类型

  • 不同的数据类型属于不同的类
  • 使用内置函数查看数据类型
1
2
print(type(100))   #<class 'int'>
print(type('abc')) #<class 'str'>

3、对象:100、99、250都是int类之下包含的相似的不同个体,这个个例专业数语称为实例或对象

二、类的创建

1、创建类的语法

1
2
3
4
5
6
class Student: #student为类的名称。类名可以由一个或多个单词组成,每个单词的首字母大写,其余小写
    pass
#python中一切皆对象,Student是对象,可以看到内存有开辟空间
print(id(Student))  #2348245390768
print(type(Student))#<class 'type'>
print(Student)      #<class '__main__.Student'>

2、类的组成

  • 类属性
  • 实例方法
  • 静态方法
  • 类方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Student:
    native_pace='wuhan' #直接写在类里的变量,称为类属性
    #初始化函数
    def __init__(self,name,age):
        self.name=name  #self.name称为实体属性,进行了一个赋值操作,将局部变量的name值赋给实体属性
        self.age=age
 
    #实例方法
    #在类之外定义的称为函数,在类之内定义的称为方法
    def eat(self):
        print('学生在吃饭...')
 
    #静态方法
    @staticmethod
    def method():#括号中是不允许写self的
        print('我使用了staticmethod进行修饰,所以我是静态方法')
 
    #类方法
    @classmethod
    def cm(cls):
        print('我是类方法,因为我使用了classmethod进行修饰')

三、对象的创建

对象的创建又称为类的实例化

语法       实例名=类名()

1
2
3
4
5
6
7
8
9
#创建Student类的对象
stu1=Student('张三',85)
print(stu1.name)
print(stu1.age)
stu1.eat()       #对象名.方法名()
 
print('-----------------')
 
Student.eat(stu1)#方法调用可以使用  类名.方法名(类的对象)

四、类的组成

  • 类属性:类中方法外的变量称为类属性,被该类的所有对象所访问
  • 类方法:使用@classmethod修饰的方法,使用类名直接访问的方法
  • 静态方法:使用@staticmethod修饰的方法,使用类名直接访问的方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#类属性的使用
stu1=Student('张三',20)
stu2=Student('李四',50)
print(stu1.native_pace)
print(stu2.native_pace)
Student.native_pace='武汉'
print(stu1.native_pace)
print(stu2.native_pace)
#类方法的使用
Student.cm()
#静态方法的使用
Student.method()
#实例方法
stu1.eat()
Student.eat(stu1)
 
运算结果:
 
Wuhan
Wuhan
武汉
武汉
我使用了类方法
我使用了静态方法
学生在吃饭
学生在吃饭

  

posted @   小秦同学在上学  阅读(32)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示