Python super() 函数的用法及实例
描述
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() 函数的用法及实例相关推荐
- python Format()函数的用法___实例详解(一)(全,例多)___各种格式化替换,format对齐打印
python Format()函数的用法___实例详解(一)(全,例多) (格式化替换,关键字替换,列表字典替换,类格式化, 魔法函数格式化,对齐及填充格式化,format对齐打印) 本篇目录内容:
- Python中Print()函数的用法___实例详解(二)(全,例多)
Python中Print()函数的用法___实例详解(二)(全,例多) 目录 十一.Print()小例子 十二.Print()中文输入显示乱码问题 十三.Print()写入文件 十四.print()在 ...
- python教程实例-Python中函数的用法实例教程
本文以数值计算为例讲述了Python中函数的用法,分享给大家供大家参考借鉴之用.具体如下: 我们都知道圆的面积计算公式为: S = πr2 当我们知道半径r的值时,就可以根据公式计算出面积.假设我们需 ...
- python常用函数-python常用函数与用法示例
本文实例讲述了python常用函数与用法.分享给大家供大家参考,具体如下: 自定义函数实例 # 定义一个函数 def printme( str ): "打印任何传入的字符串" pr ...
- chatgpt赋能python:Python绝对值符号:用法及实例
Python绝对值符号:用法及实例 Python程序设计语言是一种高级编程语言,其语法简洁且易于学习.Python中的绝对值符号是一个非常实用的工具,可以用于任何需要获取数值大小而不需要其符号的情况. ...
- python常用函数大全-python常用函数与用法示例
本文实例讲述了python常用函数与用法.分享给大家供大家参考,具体如下: 自定义函数实例 # 定义一个函数 def printme( str ): "打印任何传入的字符串" pr ...
- python super()函数(用来调用父类方法)
如图,super()用于调用当前类Canvas的父类QWidget的size()方法: 参考文章1:Python super 详解 参考文章2:Python super() 函数
- Python super 函数 - Python零基础入门教程
目录 一.Python super 函数简介 二.Python super 函数语法 三.Python super 函数使用 1.案例一 2.案例二: 四.猜你喜欢 零基础 Python 学习路线推荐 ...
- map函数的用法python,详解Python map函数及Python map()函数的用法
python map函数 map()函数 map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list ...
最新文章
- 组合特征(二)tfidf(word+article)+lsa
- 小鑫の日常系列故事(十)——排名次_JAVA
- 计算机学报格式_如何快速写好一篇格式正确的参考文献?
- SPARK RDD JAVA API 用法指南
- 使用ETag识别ajax,如何使用jQuery AJAX请求访问ETag头?
- Tomcat 学习笔记(0)
- Setup the FD.io Repository - Centos 7
- Nginx SSI指令配置详解
- 流媒体开发之-音悦台TV解析特定条件下的所有TV视频
- Win8.1 ext-ms-win-ntuser-uicontext-ext-l1-1-0.dll等缺失
- 硬盘扩容linux重新检查,Linux 无损扩容磁盘
- 专业显卡测试软件 spec,AMD Radeon Pro WX8200专业图形显卡评测 对比Quadro P5000
- 2022N2观光车和观光列车司机上岗证题目及答案
- 中国象棋游戏Chess(1) - 棋盘绘制以及棋子的绘制
- win7计算机无法连接投影仪,联想笔记本win7系统连接投影仪的方法【图文详解】...
- 2019 ,摧枯拉朽式的AI洗牌之路
- 推特由于技术问题,我们无法完成此次请求,请重试
- GraphQL标准的Java实现graphql-java概述
- 【Java】Java中空字符的写法
- 运行SHA256加密脚本.
热门文章
- 他为华裔写了几封信......
- 4.2 算法之数论 1486 A Funny Game python
- Jenkins Gitee 实现持续集成CI/CD工具【免费、推荐】
- python线程通信 消息传递_Python并发编程之线程消息通信机制/任务协调(四)
- springboot 获取项目路径_怎样学习 SpringBoot
- BootStrap笔记-badge的使用
- Java笔记-使用ServerSocket构建HTTP服务器
- canvas笔记-canvas适应浏览器(填充整个页面)
- Redis工作笔记-Jedis的基本使用
- Qt creator5.7 OpenCV249之均值滤波(含源码下载)