python__基础 : 多继承中方法的调用顺序 __mro__方法

在多继承中,如果一个子类继承了两个平级的父类,而这两个父类有两个相同名字的方法,那么一般先继承谁,调用方法就调用先继承的那个父类的方法.如:

class A:
def test(self):
print('AAAAA') class B:
def test(self):
print('BBBBB') class C(A,B):
pass c = C()
c.test() >>>AAAAA

可以看出,先继承了A,所以输出的是AAAAA.那么由此引出了一个问题,python解释器是如何对方法进行查找排序的,答案 __mro__ 方法 ,这个方法基于C3 算法 C3 算法基于 广度优先遍历.

上一篇:PHP基础课程学习总结


下一篇:广通软件获“2016年度中国最具影响力IT运维管理软件提供商”殊荣