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函数所以报错)

    本博客是博主个人学习时的一些记录,不保证是为原创,个别文章加入了转载的源地址还有个别文章是汇总网上多份资料所成,在这之中也必有疏漏未加标注者,如有侵权请与博主联系。
  • 相关阅读:
    【后缀数组】
    【后缀数组之height数组】
    【后缀数组之SA数组】【真难懂啊】
    【转】为何浮点数可能丢失精度
    UVa_Live 3664(精度坑)
    【火车出栈】ZOJ
    并发查询
    java基础知识1
    感悟__你总是要建立自己的价值观,世界观,人生观,信念的,总不能一直靠鸡汤,被外界,环境,他人,见闻等所掌控你的情绪,积极或者消极.
    batch、随机、Mini-batch梯度下降
  • 原文地址:https://www.cnblogs.com/devilmaycry812839668/p/13217412.html
Copyright © 2011-2022 走看看