定义
·类
·多个类似事物组成的群体的统称。能够帮助我们快速理解和判断事物的性质
·数据类型
·不同的数据类型属于不同的类
·使用内置函数查看数据类型
·对象
·100、99、520都是int类之下包含的相似的不同个例,这个个例专业数语称为实例或对象
类的创建
1 # 2 # @author:浊浪 3 # @version:0.1 4 # @time: 2021/4/14 19:01 5 # 6 class Student: # Student为类名 由一个或多个字母组成 每个单词首字母大写,其余小写 7 native_pace = 'gd' # 直接写在类的变量,称为类属性 8 9 def __init__(self, name, age): 10 self.name = name # self.name称为实体属性,进行了一个赋值的操作,将局部变量的name的值赋给实体属性 11 self.age = age 12 13 # 实例方法,在类之外定义的叫函数,类里面定义的叫方法 14 def eat(self): 15 print('学生在吃饭') 16 17 # 静态方法 18 @staticmethod 19 def method(): 20 print('这是静态方法') 21 22 # 类方法 23 @classmethod 24 def cm(cls): 25 print('这是类方法') 26 27 28 29 30 print(id(Student)) #13956056 31 print(type(Student)) # <class 'type'> 32 print(Student) # <class '__main__.Student'>
对象的创建
1 stul = Student('张三', 23) 2 stul.eat() 3 print(stul.name) 4 print(stul.age) 5 6 print('------------------------') 7 Student.eat(stul) # 本行与第2行代码功能相同,都是调用Student中的eat方法 8 # 类名.方法名(类的对象)-一>实际上就是方法定义处的self
类属性,类方法,静态方法
·类属性:类中方法外的变量称为类属性,被该类的所有对象所共享
1 stu1 = Student('张三', 23) 2 stu2 = Student('李四', 30) 3 print(stu1.native_pace) 4 print(stu2.native_pace) 5 Student.native_pace = 'guangdong' 6 # 都变成了广东 7 print(stu1.native_pace) # 若只是stu1.native_pace = 'guangdong' 则只会 stu1变成guangdoong 8 print(stu2.native_pace)
·类方法:使用@classmethod修饰的方法,使用类名直接访问的方法
1 print('_________________使用类方法__________________') 2 Student.cm()
·静态方法:使用@staticmethod修饰的主法,使用类名直接访问的方法
1 print('_________________使用静态方法__________________') 2 Student.method()
动态绑定
·Python是动态语言,在创建对象之后,可以动态地绑定属性和方法
1 stu2.gender = '男' 2 3 def show(): 4 print('普普通通一函数') 5 6 stu2.show = show 7 8 # 动态绑定只会在该对象添加属性或者方法,其他对象不会添加