📅  最后修改于: 2023-12-03 14:57:05.076000             🧑  作者: Mango
在 Python 中,super()
函数被广泛用于从父类调用方法或属性。Python 3 中引入了新的 super() 语法,使得父类名不再是必需的。 在这篇文章中,我们将介绍如何使用这个新的语法。
super()
函数是一个可以让我们调用父类方法的特殊函数。如果我们想在子类中调用已经在父类中定义的方法,我们可以使用 super()
函数来调用它。super() 函数需要两个参数:第一个是子类,第二个是子类对象。当我们没有提供任何参数时,它会自动使用这两个参数。
在 Python 3 中,我们可以使用不带参数的 super() 语法来调用父类的方法。
class Animal:
def __init__(self, name):
self.name = name
def speak(self):
print(f"{self.name} makes a noise.")
class Dog(Animal):
def speak(self):
super().speak()
print(f"{self.name} barks.")
dog = Dog("Rufus")
dog.speak()
在这个例子中,我们定义了一个 Animal
类和 Dog
类。 Dog
类继承 Animal
类并覆盖了 speak()
方法。在 Dog
类中,我们使用了新的 super() 语法来调用 Animal
类中的 speak()
方法。使用这种方式,我们可以很方便地扩展父类的方法。
使用不带参数的 python 3 样式 super 的主要好处是当我们改变类的继承结构时,不需要再修改 super() 函数的参数。这样使得我们的代码更加灵活。
在 Python 中,super()
函数被广泛用于从父类调用方法或属性。在 Python 3 中,引入了新的 super() 语法,使得父类名不再是必需的。使用不带参数的 python 3 样式 super 的主要好处是当我们改变类的继承结构时,不需要再修改 super() 函数的参数。