在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) # 输出:男
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。