super()是用来调用父类(超类)的一个方法。

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

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

python2.7和python3.x对于这个函数的写法是不一样的。我们先以2.7的写法来理解一下这个函数。

class  A(object): # Python2.x 记得继承 object  def  add(self, x): y = x+1  print(y)  class  B(A): def  add(self, x): super(B, self).add(x)  b = B()
b.add(2)  # 3

super(B, self)要完成两个工作:寻找类并实例化。寻找B的父类A,在B这个类中,self是B的实例,但是现在就要换成A的实例化了。

在python3中,括号中的参数也被省去了。简化之后的版本为:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
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教程:super()的用法相关推荐

  1. python中super的用法实例解析

    概念 super作为python的内建函数.主要作用如下: 允许我们避免使用基类 跟随多重继承来使用 实例 在单个继承的场景下,一般使用super来调用基类来实现: 下面是一个例子: class Ma ...

  2. Python中super的用法

    uper 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO).重复调用(钻石继承)等种种问题.总之前人留下的经验就是:保持一致性. ...

  3. Python教程:self用法

    1. self代表类的实例,而非类 class Test:def prt(self):print(self)print(self.__class__)t = Test() t.prt() ------ ...

  4. python中的super用法详解_Python中super函数用法实例分析

    本文实例讲述了python中super函数用法.分享给大家供大家参考,具体如下: 这是个高大上的函数,在python装13手册里面介绍过多使用可显得自己是高手 23333. 但其实他还是很重要的. 简 ...

  5. 【python】类继承中super的用法

    阅读本文,需要知道python中的类与继承的概念. 1.总述 在python中,通过类的继承机制,可以实现在子类中调用父类的方法,从而避免写重复的代码.但在面临多继承时,如果多个父类中都实现了某个相同 ...

  6. python 使用全局变量_Python教程之全局变量用法

    Python教程之全局变量用法 本文实例讲述了Python全局变量用法.分享给大家供大家参考,具体如下: 全局变量不符合参数传递的精神,所以,平时我很少使用,除非定义常量.今天有同事问一个关于全局变量 ...

  7. python中with是什么意思,Python中With的用法

    在看Dive Into Python中有关描述文件读写那章节的时候,看到了有关with的用法,查阅下相关资料,记录下来,以备后用. 官方的reference上有关with statement是这样说的 ...

  8. python教程实例-Python中函数的用法实例教程

    本文以数值计算为例讲述了Python中函数的用法,分享给大家供大家参考借鉴之用.具体如下: 我们都知道圆的面积计算公式为: S = πr2 当我们知道半径r的值时,就可以根据公式计算出面积.假设我们需 ...

  9. 30分钟 Python 教程

    Python 教程 本教程以最简单的方式力求全面介绍常用和常见python语法及相关特性. 本教程适用于有一定的编程(C/C++/Java/C#/js等)基础的人员. 作者-dwSun Python介 ...

  10. python从入门到高阶(基于黑马程序员python教程)

    文章目录 0.文章来源 1."学it就来%s%s员"% (name,"程序员") 2.%s:占位字符串.%d:占位整型.%f:占位浮点型 3.字符串格式化的精度 ...

最新文章

  1. 一个量子物理学家是怎样研究 AI 的? | 8月书讯
  2. JAVA I/O 字符输出流简要概括
  3. set_bit() 等位函数分析! \linux-1.0\linux\include\asm\bitops.h
  4. URL Loading System 概览
  5. idea修改完jdbc文件后没有更新_JDBC+MySQL入门案例
  6. 【信仰充值中心】Firefox 96 后续更新一览
  7. 457. 括号匹配二
  8. github上完成个人的站点搭建
  9. Windwos8.1下配置PHP环境
  10. python的语法格式
  11. 电容器指南(一)-基本性能介绍
  12. repo命令无法从gooole的网站下载问题解决办法
  13. 中国药妆市场竞争状况与销售渠道现状研究报告2022版
  14. 离散数学之集合笔记一
  15. python爬取B站评论制作词云
  16. nginx根据ip限流和突发流量配置解释
  17. 四维图新地图坐标_一种融合双目视觉和差分卫星定位的地标地图生成方法与流程...
  18. 心靜如水的時候聽音樂
  19. Java数据结构之二叉树及其源码实现
  20. messenger_MSN Messenger加密和隐私

热门文章

  1. Java课程作业02
  2. ecshop $user
  3. 差分约束 【bzoj2330】[SCOI2011]糖果
  4. 安装SQL2005 29506错误码的解决方案
  5. CAN'T TAKE MY EYES OF YOU
  6. SAP WM模块常用T-code
  7. SAP MPS、MRP名词解释
  8. 第12个双11,天猫的“造新”运动
  9. 凡普金科以互金 “头马”入选互联网企业百强的启示:创新为王
  10. 根目录_Linux Shell从入门到删除根目录跑路指南