python之类中的super函数

Posted raindi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之类中的super函数相关的知识,希望对你有一定的参考价值。

作用

实现代码重用

思考:super真的只是调用父类么?

super函数是按照mro算法去调用的,不bb上代码:

class A:
    def __init__(self):
        print(\'A\')

class B(A):
    def __init__(self):
        print(\'B\')
        super().__init__()
class C(A):
    def __init__(self):
        print(\'C\')
        super().__init__()

class D(B, C):
    def __init__(self):
        print(\'D\')
        super().__init__()

d = D()

结果:
D
B
C
A

如果super函数只是调用父类的话顺序应该是D、B、A,可见super函数不是单纯的调用父类,而是按照mro算法调用:
print(D.__mro__),结果如下图

以上是关于python之类中的super函数的主要内容,如果未能解决你的问题,请参考以下文章

想了解Python中的super 函数么

Python中的super函数,你熟吗?

想了解Python中的super 函数么

Python 中的 super 函数怎么学,怎么解?

Python 中的 super 函数怎么学,怎么解?

Python3中的super()函数详解