zoukankan      html  css  js  c++  java
  • python之理解super及MRO列表 ( 示例版 )

    例子   1:

     

    class A0:
        def pri(self):
            super().pri()
            print("A0")
    
    class A1(A0):
        def pri(self):
            super().pri()
            print("A1")
    
    class B0:
        def pri(self):
            print("B0")
    
    class B1(B0):
        def pri(self):
            super().pri()
            print("B1")
    
    class X(A1, B1):
        def pri(self):
            super().pri()
            print("X")
    
    x=X()
    x.pri()
    print(x.__class__.mro())

    输出:

     

    例子   2:

     

    class A0:
        def pri(self):
            #super().pri()
            print("A0")
    
    class A1(A0):
        def pri(self):
            super().pri()
            print("A1")
    
    class B0:
        def pri(self):
            print("B0")
    
    class B1(B0):
        def pri(self):
            super().pri()
            print("B1")
    
    class X(A1, B1):
        def pri(self):
            super().pri()
            print("X")
    
    x=X()
    x.pri()
    print(x.__class__.mro())

    输出:

    例子   3:

     

    class A0:
        def pri(self):
            #super().pri()
            print("A0")
    
    class B0:
        def pri(self):
            super().pri()
            print("B0")
    
    class B1(B0):
        def pri(self):
            super().pri()
            print("B1")
    
    class X(B1, A0):
        def pri(self):
            super().pri()
            print("X")
    
    x=X()
    x.pri()
    print(x.__class__.mro())

    输出:

    例子   4:

     

    class A0:
        def pri(self):
            #super().pri()
            print("A0")
    
    class B0:
        def pri(self):
            #super().pri()
            print("B0")
    
    class B1(B0):
        def pri(self):
            super().pri()
            print("B1")
    
    class X(B1, A0):
        def pri(self):
            super().pri()
            print("X")
    
    x=X()
    x.pri()
    print(x.__class__.mro())

    输出:

    例子   5:

     

    class A0:
        def pri(self):
            super().pri()
            print("A0")
    
    class B0:
        def pri(self):
            super().pri()
            print("B0")
    
    class B1(B0):
        def pri(self):
            super().pri()
            print("B1")
    
    class X(B1, A0):
        def pri(self):
            super().pri()
            print("X")
    
    x=X()
    print(x.__class__.mro())
    x.pri()

    (A0类中执行pri函数时候调用父类object中的pri函数,由于object类中没有pri函数所以报错)

    本博客是博主个人学习时的一些记录,不保证是为原创,个别文章加入了转载的源地址还有个别文章是汇总网上多份资料所成,在这之中也必有疏漏未加标注者,如有侵权请与博主联系。
  • 相关阅读:
    综合练习-词频统计
    组合数据类型综合练习
    Python综合练习
    PostOrder_Traversal 二叉树的非递归后序遍历
    PAT甲级-1152-Google Recruitment(20 分)
    PAT甲级-1007-Maximum Subsequence Sum (25 分)
    macOS MOjave运行pygame不显示图像-解决方案
    PAT甲级-1004-Counting Leaves(30 分)
    Python进阶-Numpy科学计算库(简单入门)
    回文日期
  • 原文地址:https://www.cnblogs.com/devilmaycry812839668/p/13217412.html
Copyright © 2011-2022 走看看