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