一.继承的实现原理

  1.继承顺序

    1.1单独分叉线路:经典类与新式类依次从左到右,深度优先

    1.2多条重合线路:经典类一路到头,深度优先;新式类,广度优先。<参考MRO列表,仅在新式类有>

继承的实现原理

class A(object):
    def test(self):
        print('from A')

class B(A):
    def test(self):
        print('from B')

class C(A):
    def test(self):
        print('from C')

class D(B):
    def test(self):
        print('from D')

class E(C):
    def test(self):
        print('from E')

class F(D,E):
    # def test(self):
    #     print('from F')
    pass
f1=F()
f1.test()
print(F.__mro__) #只有新式才有这个属性可以查看线性列表,经典类没有这个属性

#新式类继承顺序:F->D->B->E->C->A
#经典类继承顺序:F->D->B->A->E->C
#python3中统一都是新式类
#pyhon2中才分新式类与经典类
View Code

相关文章:

  • 2022-02-17
  • 2021-12-25
  • 2021-05-01
  • 2022-12-23
  • 2019-09-10
  • 2021-10-27
  • 2022-01-29
猜你喜欢
  • 2021-10-27
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-23
  • 2021-05-23
  • 2022-12-23
相关资源
相似解决方案