Python中MRO
Posted 领域见识决定专业高度
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中MRO相关的知识,希望对你有一定的参考价值。
MRO(方法解析顺序)
当有多重继承时,基于“从左到右,深度优先原则”:
class CommonBase():
def Method(self):
print(‘CommonBase‘)
class Base1(CommonBase):
pass
class Base2(CommonBase):
def Method(self):
print(‘Base2‘)
class MyClass(Base1,Base2):
pass
MyClass().Method()
# 执行结果:CommonBase
当然如上算法时在python2中旧式类中(不继承object)存在这样的算法,当然在python3中定义类的时候已经显示的继承了object(不管你是否写都默认地继承了object)。当然也提供了一个新的MRO算法,在python3中运行如上代码结果为:Base2
以上是关于Python中MRO的主要内容,如果未能解决你的问题,请参考以下文章
Python高级语法-多继承MRO相关-多继承顺序(4.5.1)