1.C3算法求解MRO
求解MRO,在Python2.3之前是基于深度优先算法,但为了解决原来基于深度优先搜索算法不满足本地优先级,和单调性以及继承不清晰的问题,从Python2.3起应用了新的C3算法。
1.1 (根据C3算法)手动计算
1.2 代码实现Python3的C3算法
验证代码的正确性,输出结果一致,如下所示:
2.Python3的super详解
更多参考:「Python super 详解」
求解MRO,在Python2.3之前是基于深度优先算法,但为了解决原来基于深度优先搜索算法不满足本地优先级,和单调性以及继承不清晰的问题,从Python2.3起应用了新的C3算法。
验证代码的正确性,输出结果一致,如下所示:
更多参考:「Python super 详解」
本文标题:Python3的super详解:MRO、C3算法
本文链接:https://www.haomeiwen.com/subject/chxklltx.html
网友评论