1、raise
手动引发错误
2、
_var ;变量名前一个下划线来定义,此变量为保护成员protected,只有类及其子类可以访问。此变量不能通过from XXX import xxx 导入
__var;变量名前两个下划线来定义,此变量为私有private,只允许类本身访问,连子类都不可以访问。
3、子类扩充父类方法功能
def work(self):
super().work()
XXX
复制代码
4、Mixin编程是一种开发模式,是一种将多个类中的功能单元的进行组合的利用的方式,这听起来就像是有类的继承机制就可以实现,然而这与传统的类继承有所不同。通常mixin并不作为任何类的基类,也不关心与什么类一起使用,而是在运行时动态的同其他零散的类一起组合使用。 使用mixin机制有如下好处:可以在不修改任何源代码的情况下,对已有类进行扩展;可以保证组件的划分;可以根据需要,使用已有的功能进行组合,来实现“新”类;很好的避免了类继承的局限性,因为新的业务需要可能就需要创建新的子类。
通过允许多个类使用通用功能,但没有多重继承的复杂语义,为多重继承提供了一种机制.
5、对一个类中的多个属性 property(fget,fset,fdel,doc)顺序固定, 读写删文档
6、魔法函数 (类似__ init__)
__ call__
把类当作函数使用时,自动调用此方法
__ repr__
a = A()
把类当作字符串使用的时候调用,print(a)
getattr
访问一个不存在的属性时触发
7、抽象类
不能被实例化,只能被继承 并且实现所有抽象方法
8、自定义类 class A(): XXX def foo(): pass
A.foo = foo [但是不可以用实例绑定]