1. 面向对象编程
- 类、对象的定义
类就是拥有相同功能和相同属性的对象的集合。
对象就是类的实例。
- 从生活中来看类和对象
如果人是类,余婷就是对象,骆昊也是对象。
如果电脑是类,我桌上的这台电脑也是对象
- 类的声明
a. 语法:
class 类名:
类的内容(对象的属性和功能的集合)
b. 说明
class -声明类的关键字
类名 -标识符,不能是关键字。见名知义,首字母大 写,驼峰式命名(每个单词的首字母大写)
类的内容 -主要包含:类的说明文档、属性(普通的变量)、功能(函数/方法)
class Person:
"""人类"""
#=====属性=======
#=====方法=======
pass
- 对象怎么声明
对象 = 类名() -创建指定类对应的对象
- 类中的方法
生命在类中的函数就是方法。
类中的方法有三种:对象方法、类方法、静态方法
1)对象方法:
直接声明在类中的函数就是对象方法。
有默认参数self。(self,当前对象-谁调用self就指向谁,当前 类的对象能做的事,self都能做)
需要通过类的对象来调用:通过‘对象.方法()’的方式来调用
2)类方法:
声明函数前加@classmethod
有默认参数cls,通过类调用的时候这个参数不用传参,系统 会自动把当前类传给cls。(cls,当前类,谁调用就指向谁,类能 做的事,cls都能做)
通过类来调用,以“类.类方法()”来调用
3)静态方法:
声明函数前加@staticmethod
没有默认参数
init方法是类型默认继承的一个魔法方法,用来初始化类;本质是对象方法,但是不需要程序员自己调用,系统自动调用
通过类创建对象的时候,系统自动调用——init——方法,并且构造方法的实参会全部传给——init——方法
声明类的时候,系统会自动给我们创建一个函数,这个函数的函数名和声明的类的类名一样(构造方法),函数
-
类中的属性
类中的属性分两种:对象属性和字段
1)字段:
声明在类中的变量就是字段
字段需要通过“类.字段”的方式来使用
当属性的值不会因为对象不同而不同,这种属性就可以声明成类的字段
2)对象属性:
在init方法中,以“self.属性 = 值“
对象属性通过”对象.属性“来使用
当属性的值会因为对象不同而不同的时候,使用对象属性
-
声明类的时候方法的选择
1)对象方法:实现函数功能需要用到对象属性的时候
2)类方法:实现函数功能不需要对象属性,但是需要类的相关操作,就使用类方法。
3)静态方法:实现函数功能既不需要对象属性,也不需要类相关的操作,就使用静态方法。
-
对象属性的操作:
python中的对象属性支持增、删、改、查
1)查
a. 对象.属性 -获取指定对象指定属性对应的值,如果属性不存在,报错。
b. getattr(对象名,‘属性名’,默认值) -获取指定对象指定属性对应的值,当属性不存在时,返回默认值,如果没有默认值,报错。
2)增、改
a. 对象.属性 = 值 -当属性不存在时添加属性值,当属性存在时,更改属性值
b. setattr(对象,属性名,值) -当属性不存在时添加属性值,当属性存在时,更改属性值
3)删
del 对象.属性
delattr(对象,属性名)