各位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的順序 想請問這邊程式是怎麼運行才會是如輸出的順序 感謝各位的解答