描述

super() 函数是用于调用父类(超类)的一个方法。

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

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

语法

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

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

参数

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

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

Python3.x 实例:

Python3.x 实例:

class A:def add(self, x):y = x+1print(y)
class B(A):def add(self, x):super().add(x)
b = B()
b.add(2)  # 3

Python2.x 实例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-class A(object):   # Python2.x 记得继承 objectdef add(self, x):y = x+1print(y)
class B(A):def add(self, x):super(B, self).add(x)
b = B()
b.add(2)  # 3

返回值

无。

实例

以下展示了使用 super 函数的实例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-class FooParent(object):def __init__(self):self.parent = 'I\'m the parent.'print ('Parent')def bar(self,message):print ("%s from Parent" % message)class FooChild(FooParent):def __init__(self):# super(FooChild,self) 首先找到 FooChild 的父类(就是类 FooParent),然后把类 FooChild 的对象转换为类 FooParent 的对象super(FooChild,self).__init__()    print ('Child')def bar(self,message):super(FooChild, self).bar(message)print ('Child bar fuction')print (self.parent)if __name__ == '__main__':fooChild = FooChild()fooChild.bar('HelloWorld')

执行结果:

Parent
Child
HelloWorld from Parent
Child bar fuction
I'm the parent.

Python super() 函数的用法及实例相关推荐

  1. python Format()函数的用法___实例详解(一)(全,例多)___各种格式化替换,format对齐打印

    python Format()函数的用法___实例详解(一)(全,例多) (格式化替换,关键字替换,列表字典替换,类格式化, 魔法函数格式化,对齐及填充格式化,format对齐打印) 本篇目录内容:

  2. Python中Print()函数的用法___实例详解(二)(全,例多)

    Python中Print()函数的用法___实例详解(二)(全,例多) 目录 十一.Print()小例子 十二.Print()中文输入显示乱码问题 十三.Print()写入文件 十四.print()在 ...

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

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

  4. python常用函数-python常用函数与用法示例

    本文实例讲述了python常用函数与用法.分享给大家供大家参考,具体如下: 自定义函数实例 # 定义一个函数 def printme( str ): "打印任何传入的字符串" pr ...

  5. chatgpt赋能python:Python绝对值符号:用法及实例

    Python绝对值符号:用法及实例 Python程序设计语言是一种高级编程语言,其语法简洁且易于学习.Python中的绝对值符号是一个非常实用的工具,可以用于任何需要获取数值大小而不需要其符号的情况. ...

  6. python常用函数大全-python常用函数与用法示例

    本文实例讲述了python常用函数与用法.分享给大家供大家参考,具体如下: 自定义函数实例 # 定义一个函数 def printme( str ): "打印任何传入的字符串" pr ...

  7. python super()函数(用来调用父类方法)

    如图,super()用于调用当前类Canvas的父类QWidget的size()方法: 参考文章1:Python super 详解 参考文章2:Python super() 函数

  8. Python super 函数 - Python零基础入门教程

    目录 一.Python super 函数简介 二.Python super 函数语法 三.Python super 函数使用 1.案例一 2.案例二: 四.猜你喜欢 零基础 Python 学习路线推荐 ...

  9. map函数的用法python,详解Python map函数及Python map()函数的用法

    python map函数 map()函数 map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list ...

最新文章

  1. 组合特征(二)tfidf(word+article)+lsa
  2. 小鑫の日常系列故事(十)——排名次_JAVA
  3. 计算机学报格式_如何快速写好一篇格式正确的参考文献?
  4. SPARK RDD JAVA API 用法指南
  5. 使用ETag识别ajax,如何使用jQuery AJAX请求访问ETag头?
  6. Tomcat 学习笔记(0)
  7. Setup the FD.io Repository - Centos 7
  8. Nginx SSI指令配置详解
  9. 流媒体开发之-音悦台TV解析特定条件下的所有TV视频
  10. Win8.1 ext-ms-win-ntuser-uicontext-ext-l1-1-0.dll等缺失
  11. 硬盘扩容linux重新检查,Linux 无损扩容磁盘
  12. 专业显卡测试软件 spec,AMD Radeon Pro WX8200专业图形显卡评测 对比Quadro P5000
  13. 2022N2观光车和观光列车司机上岗证题目及答案
  14. 中国象棋游戏Chess(1) - 棋盘绘制以及棋子的绘制
  15. win7计算机无法连接投影仪,联想笔记本win7系统连接投影仪的方法【图文详解】...
  16. 2019 ,摧枯拉朽式的AI洗牌之路
  17. 推特由于技术问题,我们无法完成此次请求,请重试
  18. GraphQL标准的Java实现graphql-java概述
  19. 【Java】Java中空字符的写法
  20. 运行SHA256加密脚本.

热门文章

  1. 他为华裔写了几封信......
  2. 4.2 算法之数论 1486 A Funny Game python
  3. Jenkins Gitee 实现持续集成CI/CD工具【免费、推荐】
  4. python线程通信 消息传递_Python并发编程之线程消息通信机制/任务协调(四)
  5. springboot 获取项目路径_怎样学习 SpringBoot
  6. BootStrap笔记-badge的使用
  7. Java笔记-使用ServerSocket构建HTTP服务器
  8. canvas笔记-canvas适应浏览器(填充整个页面)
  9. Redis工作笔记-Jedis的基本使用
  10. Qt creator5.7 OpenCV249之均值滤波(含源码下载)