python中MRO原则的使用

python中MRO原则的使用

1、MRO原则可以通过.__mro__属性输出相应方法来确定顺序。

2、__mro__属性显示了指定类所没有的继承脉络和继承次序。不指定方法和属性,会层层筛查到找到。

如果这个指定的类没有某些方法和属性,但是与其具有血统关系的类相比,那么当访问类本身没有的这些方法和属性时,就会一层一层地进行查找,直到找到为止。

实例

class P1:
    def foo(self):
        print("p1-foo")
class P2:
    def foo(self):
        print("p2-foo")
    def bar(self):
        print("p2-bar")
class C1(P1,P2):
    pass
class C2(P1,P2):
    def bar(self):
        print("C2-bar")
class D(C1,C2):
    pass
print(D.__mro__)
d=D()
d.foo()


微信扫描下方的二维码阅读更多精彩内容

python中MRO原则的使用


感谢对大飞哥的支持

相关新闻