class H:
def bar(self):
print("F.bar")
class G(H):
def bar(self):
print("F.bar")
class F(H):
def bar(self):
print("F.bar")
class E(G):
def bar(self):
print("E.bar")
class D(F):
def bar(self):
print("D.bar")
class C(E):
def bar(self):
print("C.bar")
class B(D):
def bar(self):
print("B.bar")
class A(B, C, D):
def bar(self):
print("A.bar")
a = A()
print(A.mro())
# 结果
# [<class '__main__.A'>, <class '__main__.B'>, <class '__main__.C'>, <class '__main__.D'>, <class '__main__.F'>, <class '__main__.E'>, <class '__main__.G'>, <class '__main__.H'>, <class 'object'>]
是按照C3算法来的
下面是推倒的过程