类和实例属性的查找顺序 mro查找

如果多个类继承父类,然后又被多个类继承这种复杂的问题,可以使用

mro方法

例如:

class A:
        pass
class C(D):
        pass
class B(D):
        pass
class  A(B,C):
         pass

print(A.__mro__)

 python3 主要使用的是C3算法,能够自适应深度查找和广度查找

另外

在子类继承多个父类的时候,同时父类也有继承关系的时候,这个时候使用super()方法并不是继承的就是父类,而是按照__mro__方法的顺序,进行索引继承。

方法:

print(A.__mro__)

posted @ 2019-04-12 14:38  魔法少女希维尔  阅读(373)  评论(1编辑  收藏  举报