Python的super调用父类的属性

Python的super调用父类的属性

Python的super调用父类的属性

在面向对象编程中,子类通常会继承父类的属性和方法。当我们在子类中需要调用父类的属性时,可以使用Python内置的super()函数。super()函数提供了一种简洁的方式来调用父类的属性和方法,而不需要显式地指定父类的名称。

在本文中,我们将通过示例代码详细介绍如何使用super()函数来调用父类的属性。

创建父类

首先,让我们创建一个简单的父类Person,该类具有一个属性name和一个方法display_info()

class Person:
    def __init__(self, name):
        self.name = name

    def display_info(self):
        print(f"My name is {self.name}")

在上面的代码中,我们定义了一个名为Person的父类,其中包含一个构造函数__init__用于初始化name属性,以及一个display_info()方法用于显示人物的信息。

创建子类

接下来,让我们创建一个子类Student,该类继承自父类Person。子类Student拥有一个额外的属性student_id

class Student(Person):
    def __init__(self, name, student_id):
        super().__init__(name)
        self.student_id = student_id

    def display_info(self):
        super().display_info()
        print(f"My student ID is {self.student_id}")

在上面的代码中,我们定义了一个名为Student的子类,使用super().__init__(name)来调用父类Person的构造函数,继承父类的name属性。然后,我们定义了一个display_info()方法来显示学生的信息,通过super().display_info()调用父类Persondisplay_info()方法,并加上学生的student_id属性。

实例化子类

现在,我们来实例化子类Student并调用display_info()方法来显示学生的信息。

student = Student("Alice", "12345")
student.display_info()

运行上面的代码,将输出以下内容:

My name is Alice
My student ID is 12345

通过super()函数,我们能够简单、优雅地调用父类的属性和方法,避免了显式指定父类的名称。

结论

在本文中,我们详细介绍了在Python中使用super()函数调用父类的属性和方法的方法。通过继承和super()函数,我们能够轻松地在子类中重用和扩展父类的功能。使得代码更加模块化和可维护。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程