super()
函数是 Python 中的内置 函数,它返回给定对象的超类(父类)的临时对象。它允许你在派生类中调用超类的方法,从而在 Python 中实现多重继承和协作多重继承。
参数值
参数 | 说明 |
---|---|
type | 要绑定的类型。 |
obj | 调用 super() 的对象。通常,这是一个类。 |
返回值
Python 中的 super()
函数 返回超类的临时对象。
如何在 Python 中使用 super()
示例 1
super()
函数用于从 Python 中的父 类 调用方法。它返回超类的临时对象,允许你调用超类中定义的方法。
class Parent:
def show(self):
print('Parent class method')
class Child(Parent):
def show(self):
super().show() # calling the Parent class method
obj = Child()
obj.show()
示例 2
super()
函数还可用于多重继承,以按特定顺序调用所有父 类 的方法。
class A:
def show(self):
print('A class method')
class B:
def show(self):
print('B class method')
class C(A, B):
def show(self):
super().show()
obj = C()
obj.show()
示例 3
在多重继承场景中应谨慎使用 super()
函数,以确保遵循正确的类方法解析顺序 (MRO)。
class X:
def show(self):
print('X class method')
class Y(X):
def show(self):
print('Y class method')
class Z(X):
def show(self):
super().show()
obj = Z()
obj.show()