专业编程基础技术教程

网站首页 > 基础教程 正文

Python 基础知识:什么是 super()?

ccvgpt 2025-06-12 11:09:14 基础教程 5 ℃


Python 基础知识:什么是 super()?

什么是super()函数?

super() function 是 Python 中的内置函数,在处理类时帮助您从子类中的父类或超类调用方法和访问属性。

为什么要使用 super() 函数?

当想在子类中扩展父类的功能时,使用 super() 函数是必不可少的,它可以保持代码井井有条,保持清晰的层次结构并防止重复。

如何使用super()函数?

使用 super() 功能也超级简单。假设您有一个名为 animal 的父类,并且想要创建一个名为 dog 的子类。

在 dog 子类中,您可以使用这样的 super() 函数。

# main.py
class Animal:
  def speak(self):
    print("Animal sound")

class Dog(Animal):
  def speak(self):
    super().speak() # Calls the 'speak()' method of the parent class
    print("Woof!")

dog_instance = Dog()
dog_instance.speak()

如果创建 dog 类的实例并像这样调用其 speak 方法,它将首先打印动物的声音。调用父类的 speak 方法后跟 woof 的结果。

还可以使用 super 将参数传递给父类的方法,假设我们想要传递动物的名称。在这种情况下,dog 类中 __init__() 的方法将重写 animal 类 __init__() 中的方法,以提供其他功能,同时仍使用父类的构造函数。

# main.py
class Animal:
  def __init__(self,name):
    self.name = name

  def speak(self):
    print(self.name+" says ")

class Dog(Animal):
  def __init__(self, name, emotion):
    super().__init__(name) # Calls the parent class's constructor
    self.emotion = emotion

  def speak(self):
    super().speak() 
    print("Woof "+self.emotion)

dog_instance = Dog("Whiskey", "happily")
dog_instance.speak()

好处

通过使用函数 super() ,可以提高代码的可重用性,这意味着编写更少的代码并避免重复。此外,它还使代码更易于维护,因为父类中的更改会自动应用于子类。

结论

Python 中的 super() 函数是您最好的朋友。使用类继承时,它允许您继承和扩展父类的行为,从而促进代码的可重用性和可维护性。

Tags:

最近发表
标签列表