面向对象高级编程
使用__slots__
当定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性
给实例绑定一个属性
class Student(object)
pass
s=Student()
s.name='Michael'#动态给实例绑定一个属性
print(a.name)
Michael
还可以尝试给实例绑定一个方法
使用@property
类似于一种保护
多重继承
通过多重继承,一个子类可以同时获得多个父类的所有功能
Mixln
比如一个类既要继承A,又要继承B,这种设计通常称为Mixln,Mixln的目的就是一个类增加多个功能,
优点,不需要复杂而庞大的继承链,只要选择组合不同类的功能,就可以快速构造出所需要的子类。
定制类
枚举类
Enum
使用元类
type()函数可以查看一个类型或一个变量的类型,
metaclass