面向对象
一、类和对象
1、类:是多个类别事物组成的群体的统称。能够帮助我们快速理解和判断事物的性质
2、数据类型
- 不同的数据类型属于不同的类
- 使用内置函数查看数据类型
print(type(100)) #<class 'int'> print(type('abc')) #<class 'str'>
3、对象:100、99、250都是int类之下包含的相似的不同个体,这个个例专业数语称为实例或对象
二、类的创建
1、创建类的语法
class Student: #student为类的名称。类名可以由一个或多个单词组成,每个单词的首字母大写,其余小写 pass #python中一切皆对象,Student是对象,可以看到内存有开辟空间 print(id(Student)) #2348245390768 print(type(Student))#<class 'type'> print(Student) #<class '__main__.Student'>
2、类的组成
- 类属性
- 实例方法
- 静态方法
- 类方法
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进行修饰')
三、对象的创建
对象的创建又称为类的实例化
语法 实例名=类名()
#创建Student类的对象 stu1=Student('张三',85) print(stu1.name) print(stu1.age) stu1.eat() #对象名.方法名() print('-----------------') Student.eat(stu1)#方法调用可以使用 类名.方法名(类的对象)
四、类的组成
- 类属性:类中方法外的变量称为类属性,被该类的所有对象所访问
- 类方法:使用@classmethod修饰的方法,使用类名直接访问的方法
- 静态方法:使用@staticmethod修饰的方法,使用类名直接访问的方法
#类属性的使用 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 武汉 武汉 我使用了类方法 我使用了静态方法 学生在吃饭 学生在吃饭