python中的mro是什么?
1、概念
方法解析順序(MethodResolutionOrder,MRO)列表,它代表了類繼承的順序
2、運行分析
先執(zhí)行C的構造器函數。執(zhí)行print('enterC')之后,開始執(zhí)行super(c)(#簡寫了就),這個super執(zhí)行后會返回下一個執(zhí)行順序的函數也就是A,所以跟著執(zhí)行print(A),然后執(zhí)行super(A),然后返回下一個執(zhí)行順序就是B,所以執(zhí)行print(B),再是super(B),依次類推。
3、使用原則
mro采用C3線性化算法,遵循一下規(guī)則:
子類永遠在父類前面
如果有多個父類,會根據它們在列表中的順序被檢查
如果對下一個類存在兩個合法的選擇,選擇第一個父類
以上就是python中mro的介紹,希望能對大家有所幫助。更多Python學習教程請關注IT培訓機構:千鋒教育。