python5-新式类广度优先多继承的继承顺序

底层算法为C3算法,可以通过 类名.mro()进行查看。
而super()就是通过mro()的顺序找到当前类的下一个类的。(在单继承中,super就是找父类)

'''一个例子'''
class A:
  def func(self):
    print('in A')

class B(A):
  def func(self):
    super().func()
    print('in B')

class C(A):
  def func(self):
    super().func()
    print('in C')

class D(C,B):
  def func(self):
    super().func()
    print('in D')

print(D.mro())
D().func()
posted @ 2021-06-11 10:13  tensor_zhang  阅读(66)  评论(0编辑  收藏  举报