抽象类本身不能被实例化,也不应该实例化,它的作用就是定义标准,并不用具体实现
import abc
class Parent(metaclass=abc.ABCMeta):
@abc.bastractmethod
def whatever(self):
pass
经典类多态继承按顺序纵向查找,不重复查找,深度优先
新式类广度优先,按照.mro()的顺序
super().__init__(name,age,sex)#调用父类的__init__
#super(Teacher,self).__init__(name,age,sex)在python2中
封装数据
封装功能
__开头的变形只在类的定义阶段或对象定义阶段发生一次,好处是限制变量在函数内部使用
在类的外部,无法直接使用变形的属性,但是在类的内部可以直接使用
@property#触发函数执行,使函数作为数据访问
配合@xxx.setter赋值
@xxx.deleter删除