面向对象编程
- self代表类的实例
- python支持多重继承
特殊方法def init(self,):
- 作用:在init方法内部,就可以把各种属性绑定到self
- 前后分别有两个下划线
- 第一个参数永远是self,表示创建的实例本身
- 有了init方法,在创建实例的时候,就不能传入空的参数了,必须传入与init方法匹配的参数,但self不需要传
访问限制
- 变量或函数名开头前加一个或两个下划线
- _xxx和__xxx这样的函数或变量就是非公开的(private),,私有变量不应该被直接引用,只有内部可以访问,外部不能访问
- _ xxx _ 这种是特殊变量,可以访问
type()
- 判断对象类型
dir()
- 返回一个包含字符串的list
- 获得一个对象的所有属性和方法
_ slots _
python支持动态给类和实例绑定属性和方法
在定义class的时候,使用它来限制该class实例能添加的属性
slots定义的属性仅对当前类实例起作用,对继承的子类是不起作用的
- 除非在子类中也定义slots,这样,子类实例允许定义的属性就是自身的slots加上父类的slots
@property装饰器
- 把一个方法变成属性调用的
- 还需@一个setter方法,负责把一个setter方法变成属性赋值