# 子类B 父类A
class B(A):
def __init__(self):
super(B,self).__init__()
super(B,self)
中self指向B,这句代码就是说找到self的mro表中B的下一个类,也就是找到B的父类A
super的工作原理如下:
# cls代表类,inst代表实例
def super(cls, inst):
mro = inst.__class__.mro()
return mro[mro.index(cls) + 1]
其中,mro表是指类继承的顺序,super(cls, inst)
获得的是cls在inst的MRO列表中下一个类
相关文章: