python中MRO原则的使用

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

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

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

实例

classP1:
deffoo(self):
print("p1-foo")
classP2:
deffoo(self):
print("p2-foo")
defbar(self):
print("p2-bar")
classC1(P1,P2):
pass
classC2(P1,P2):
defbar(self):
print("C2-bar")
classD(C1,C2):
pass
print(D.__mro__)
d=D()
d.foo()

以上就是python中MRO原则的使用,希望对大家有所帮助。更多Python学习指路:Python基础教程

发表回复