多继承顺序

看上图的多继承关系,一共4层。

Python2.2及其2.7中也兼容了经典类和新式类。所以在经典类的继承顺序中注重的是深度优先。即课上所讲的一条道走到黑。[g,e,b,a]这种继承方式会忽略旁支如d的函数。

新式类为广度优先即[g,e,f,b,c,d,a]

但是在Python3中,寻找方法是利用了c3算法。顺序是[g,e,b][f,c][d,a] 类似于先深度在广度的寻找方法。每一个中括号相当于先深度碰到了节点后(a,c节点不找)转回广度继续寻找。。。循环如此。

原文地址:https://www.cnblogs.com/khal-Cgg/p/5897434.html