Advertisement

Python中super函数的作用是什么

阅读量:

关于super的相关介绍文章数量众多,在Python语言中的应用也比较普遍。特别是在构建深度神经网络模型的过程中,很多人都对super(className, self).__init__()这个语句再熟悉不过了。本文旨在分享我对super的理解与应用经验。


一、直观的理解

super的作用就是执行父类的方法

以单继承为例:

复制代码
    class A:
    def a(self):
        print('A')
    class B(A):
    def b(self):
        super().a()
    B().a()
    
    >>> A

可以看到B().a()实质上执行的是A.a

二、怎样辨别多继承情况

MRO 序列:记录了各个类继承的先后顺序

关于MRO的详细介绍,请参考这篇官方文档:Python3-cookbook MRO

只要知道 MRO 序列,无论super怎么变化都行

复制代码
    class A:
    def p(self):

全部评论 (0)

还没有任何评论哟~