python中MRO原则的使用

2024年12月15日 Python51

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

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

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

python中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原则的使用,希望对大家有所帮助。

本文链接:http://so.lmcjl.com/news/19587/

展开阅读全文