python父类构造函数

Python中,父类的构造函数通过在子类中使用super()函数来调用。这样可以确保父类的初始化代码被正确执行。

在Python中,父类构造函数是指在子类继承父类时,通过调用父类的构造函数来初始化父类的属性,下面我将详细介绍Python中的父类构造函数

1、使用super()函数调用父类构造函数

python父类构造函数

在Python中,可以使用super()函数来调用父类的构造函数。super()函数返回一个临时对象,该对象绑定到父类的方法,并可以访问其属性和方法。

示例代码:

class Parent:
    def __init__(self, name, age):
        self.name = name
        self.age = age
class Child(Parent):
    def __init__(self, name, age, gender):
        super().__init__(name, age)  # 调用父类构造函数
        self.gender = gender
child = Child("小明", 10, "男")
print(child.name)  # 输出:小明
print(child.age)   # 输出:10
print(child.gender)  # 输出:男

2、父类构造函数的参数传递

python父类构造函数

在子类构造函数中,可以通过关键字参数的方式将参数传递给父类构造函数,如果子类没有提供某个属性的参数,那么该属性的值将使用父类的默认值。

示例代码:

class Parent:
    def __init__(self, name, age, gender="男"):
        self.name = name
        self.age = age
        self.gender = gender
class Child(Parent):
    def __init__(self, name, age, gender="女"):
        super().__init__(name, age, gender)  # 调用父类构造函数,传递参数给父类构造函数
        print("子类构造函数执行")
child = Child("小明", 10)
print(child.name)  # 输出:小明
print(child.age)   # 输出:10
print(child.gender)  # 输出:男(因为子类没有指定gender参数,所以使用父类的默认值)

3、多个父类和继承顺序

python父类构造函数

在Python中,一个子类可以继承多个父类,当有多个父类时,需要按照继承顺序依次调用它们的构造函数,可以使用super()函数来实现这一点。

示例代码:

class Grandparent:
    def __init__(self, name):
        self.name = name
        print("Grandparent构造函数执行")
class Parent(Grandparent):
    def __init__(self, name, age):
        super().__init__(name)  # 调用Grandparent构造函数
        self.age = age
        print("Parent构造函数执行")
class Child(Parent):
    def __init__(self, name, age, gender):
        super().__init__(name, age)  # 调用Parent构造函数,传递参数给Parent构造函数
        self.gender = gender
        print("Child构造函数执行")
child = Child("小明", 10, "男")
print(child.name)  # 输出:小明
print(child.age)   # 输出:10
print(child.gender)  # 输出:男

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/648519.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-05-23 10:20
下一篇 2024-05-23 10:22

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入