如果多个类继承父类,然后又被多个类继承这种复杂的问题,可以使用
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__)
本文探讨了Python中复杂的多重继承问题,特别是当多个类继承自共同父类时的解决策略。介绍了MRO方法(Method Resolution Order)及其背后的C3算法,解释了如何通过super()方法正确调用基类的方法,遵循MRO顺序。

1180

被折叠的 条评论
为什么被折叠?



