Python super()
2021/8/27 11:06:10
本文主要是介绍Python super(),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.描述
super() 用于调用父类。
super() 用来解决多重继承,直接用类名调用父类方法在单继承的时候是没有问题,但在多继承上,涉及查找顺序、重复调用等问题。
MRO 是类的方法解析顺序表,其实也是继承父类方法时的顺序表。
2.语法
super(type[, object-or-type])
参数:
type
:类
object-or-type
:类,一般是 self
实例:
class A: 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
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()的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门
- 2024-11-14Python编程入门指南
- 2024-11-13Python基础教程
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南