各位python版的前辈大家好 最近小弟在自学python 到了多重继承的这边有点小疑问 程式码如下: class Base(object): def __init__(self): print ("enter Base") print ("leave Base") class A(Base): def __init__(self): print ("enter A") super(A, self).__init__() print ("leave A") class B(Base): def __init__(self): print ("enter B") super(B, self).__init__() print ("leave B") class C(A, B): def __init__(self): print ("enter C") super(C, self).__init__() print ("leave C") c = C() 输出的是: enter C enter A enter B enter Base leave Base leave B leave A leave C 我知道多重继承中 super()调用的顺序是根据MRO列表的顺序 所以到leave Base都可以理解 疑问的点在于leave B->leave A->leave C的顺序 想请问这边程式是怎么运行才会是如输出的顺序 感谢各位的解答