跳至主要内容

super()

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()