python中MRO原则的使用

Python (200) 2023-05-08 20:41:09

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

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

THE END

发表回复