美文网首页
9.Python3继承顺序

9.Python3继承顺序

作者: 一枼落知天下 | 来源:发表于2019-05-31 17:47 被阅读0次
    # 继承顺序 mro线性顺序表
    # 1.子类会优先于父类被检查
    # 2.多个父类会根据他们在mro元组中的顺序被检查
    # 3.如果对下一个类存在两个合法的选择,就选择第一个父类
    
    
    class A:
    
        def test(self):
            print("A")
    
    
    class B(A):
    
        def test(self):
            print("B")
    
    class C(A):
    
        def test(self):
            print("C")
    
    
    class D(B):
    
        def test(self):
            print("D")
    
    
    class E(C):
    
        def test(self):
            print("E")
    
    class F(D,E):
    
        def test(self):
            print("F")
    
    
    f1 = F()
    # 如果C不继承A
    # (
    # <class '__main__.F'>, <class '__main__.D'>, 
    # <class '__main__.B'>, <class '__main__.A'>, 
    # <class '__main__.E'>, <class '__main__.C'>, <class 'object'>
    # )
    # 如果C继承A
    # (
    # <class '__main__.F'>, <class '__main__.D'>, 
    # <class '__main__.B'>, <class '__main__.E'>, 
    # <class '__main__.C'>, <class '__main__.A'>, <class 'object'>
    # )
    print(F.__mro__)
    f1.test()
    
    
    

    相关文章

      网友评论

          本文标题:9.Python3继承顺序

          本文链接:https://www.haomeiwen.com/subject/ahbgtctx.html