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 实例:
class A:
pass
class B(A):
def add(self, x):
super().add(x)
Python2.x 实例:
class A(object): # Python2.x 记得继承 object
pass
class B(A):
def add(self, x):
super(B, self).add(x)
返回值
无。 实例
以下展示了使用 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),然后把类B的对象 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.

最新文章

  1. Nginx做前端Proxy时TIME_WAIT过多的问题
  2. 写给IOS开发工程师的网页前端入门笔记
  3. emacs下安装pip
  4. sdut 2162:The Android University ACM Team Selection Contest(第二届山东省省赛原题,模拟题)
  5. Spring的2个思想
  6. zzuli oj 1146 吃糖果
  7. capitalize()在Python中含义
  8. 部署在腾讯云的公益网站遭受了一次CC攻击
  9. css3制作导航栏
  10. 360浏览器和猎豹浏览器重定向后丢失get参数
  11. STL(标准模板库) 中栈(stack)的使用方法
  12. 洛谷 P1028 数的计算【递推】
  13. Jmeter接口测试实战-数据传递
  14. I2C(二) linux2.6
  15. Mysql基本查询、视图、索引、触发器
  16. java ee wildfly spring 在线程池的线程中注入
  17. MySQL server has gone away
  18. POJ3461 Oulipo 字符串
  19. 多行文字溢出[...]的实现(text-overflow: ellipsis)
  20. University Entrace Examination zoj1023

热门文章

  1. 最新亚马逊 Coupons 功能设置教程完整攻略!
  2. Vue 组件的使用
  3. awk 中的难懂符号解释
  4. angular6 safe url pipe
  5. 【1】HTTP协议和Socket接口区别
  6. 分析Linux内核5.0系统调用处理过程
  7. 使用img2html把图片转为网页
  8. 【转载】IP地址和子网划分学习笔记之《子网掩码详解》
  9. [转] How Bill Gates read books
  10. elment重置表格行高,hover效果