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

云主机测评网
www.yunzhuji.net

python父类构造函数

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

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

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

在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、父类构造函数的参数传递

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

示例代码:

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中,一个子类可以继承多个父类,当有多个父类时,需要按照继承顺序依次调用它们的构造函数,可以使用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)  # 输出:男
打赏
版权声明:主机测评不销售、不代购、不提供任何支持,仅分享信息/测评(有时效性),自行辨别,请遵纪守法文明上网。
文章名称:《python父类构造函数》
文章链接:https://www.yunzhuji.net/internet/180427.html

评论

  • 验证码