Python子类的构造函数和super()函数

2023-04-02 00:00:00 函数 子类 构造

Python中的子类构造函数和super()函数通常一起使用,以便子类能够继承父类的属性和方法,并且在初始化时能够添加子类自己的属性和方法。

下面是一个示例,其中我们创建了一个父类Website,以及一个继承自该父类的子类PidancodeWebsite,以pidancode.com为例:

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

class PidancodeWebsite(Website):
    def __init__(self):
        super().__init__('pidancode.com')
        self.author = '皮蛋编程'

在这个示例中,我们首先定义了一个Website类,并在其构造函数中接受一个名称参数name。然后,我们定义了一个PidancodeWebsite子类,它继承自Website类。在子类的构造函数中,我们使用super().init('pidancode.com')来调用父类构造函数并传递名称参数'pidancode.com'。接下来,我们将author属性设置为'皮蛋编程'。

这样,我们就可以创建一个新的PidancodeWebsite实例,并访问其name和author属性:

pidancode = PidancodeWebsite()
print(pidancode.name)    # 输出:pidancode.com
print(pidancode.author)  # 输出:皮蛋编程

总之,使用super()函数可以使子类能够调用父类的构造函数,并继承父类的属性和方法,从而实现代码重用。

相关文章