云主机测评网云主机测评网云主机测评网

云主机测评网
www.yunzhuji.net

python 父类 构造函数

在Python中,父类的构造函数__init__方法)是一个特殊的方法,用于初始化对象的属性,当我们创建一个类的实例时,__init__方法会自动调用,如果我们想要在子类中继承父类的属性和方法,可以使用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
child1 = Child("小明", 10, "男")
print(child1.name)  # 输出:小明
print(child1.age)   # 输出:10
print(child1.gender)  # 输出:男

在这个例子中,我们定义了一个名为Parent的父类,它有一个构造函数,接受两个参数nameage,然后我们定义了一个名为Child的子类,它继承了Parent类,在Child类的构造函数中,我们使用super().__init__(name, age)来调用父类的构造函数,从而继承父类的属性,我们在子类中添加了一个新的属性gender

需要注意的是,当我们创建子类的实例时,需要传递父类构造函数所需的参数,以及子类自己需要的额外参数,在这个例子中,我们需要传递nameagegender三个参数。

我们可能需要在子类的构造函数中对父类的属性进行修改,这时,我们可以先使用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
        if self.age < 18:
            self.name += " (未成年)"
child1 = Child("小明", 10, "男")
print(child1.name)  # 输出:小明 (未成年)
print(child1.age)   # 输出:10
print(child1.gender)  # 输出:男

在这个例子中,我们在子类的构造函数中对父类的name属性进行了修改,为未成年的孩子添加了一个后缀。

在Python中,我们可以使用super()函数来调用父类的构造函数,从而实现子类对父类属性和方法的继承,在实际编程过程中,我们可以根据需要对父类的属性进行修改,以满足不同的需求。

打赏
版权声明:主机测评不销售、不代购、不提供任何支持,仅分享信息/测评(有时效性),自行辨别,请遵纪守法文明上网。
文章名称:《python 父类 构造函数》
文章链接:https://www.yunzhuji.net/jishujiaocheng/20715.html

评论

  • 验证码