开发者社区> 问答> 正文

python super函数如何调用

python super函数如何调用

问题来源于python学习网

展开
收起
游客ejnn55cgkof5g 2019-12-11 17:05:20 496 0
1 条回答
写回答
取消 提交回答
  • super() 函数是用于调用父类(超类)的一个方法。

    super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。

    MRO 就是类的方法解析顺序表, 其实也就是继承父类方法时的顺序表。

    语法

    以下是 super() 方法的语法:

    1

    super(type[, object-or-type])

    参数

    type -- 类。

    object-or-type -- 类,一般是 self

    Python3.x 和 Python2.x 的一个区别是: Python 3 可以使用直接使用 super().xxx 代替 super(Class, self).xxx :

    python3实例

    class A:

    def add(self, x):

     y = x+1
    
     print(y)
    

    class B(A):

    def add(self, x):

    super().add(x)
    

    b = B()

    b.add(2) # 3

    学习python,尽在python学习网!

    专题推荐:super

    2019-12-14 10:27:35
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载