python之多继承与__mro__的使用

时间:2023-03-09 15:20:34
python之多继承与__mro__的使用
 1 class Base(object):
def text(self):
print('------text-----')
class A(Base):
def text(self):
print('------text1-----')
class B(Base):
def text(self):
print('------text2-----')
class C(A,B):
def text(self):
print('------text3-----') c = C()
c.text()

多继承:使用方法类似于单继承,概念上是说一个子类包含了多个父类。

在上述代码中,当我们调用C这个类中的方法时,由于它继承的所有父类都有相同的方法名,这个时候我们可以通过打印print(类名.__mro__)来查看系统调用方法的具体顺序是什么。

print(C.__mro__)

显示的结果如下:

python之多继承与__mro__的使用

表明了调用的优先顺序是:C>A>B>Base>object