python 子类中使用super函数调用父类的初始化方法


当子类中实现了 __init__ 方法,

  基类的初始化方法并不会被调用 def __init__(self, ...)

In [169]: # 此示例示意 用super函数显示调用基类__init__初始化方法
     ...: class Human: ...: def __init__(self, n, a): ...: self.name, self.age = n, a ...: print("Human的__init__方法被调用") ...: ...: def infos(self): ...: print("姓名:", self.name) ...: print("年龄:", self.age) ...: ...: ...: class Student(Human): ...: def __init__(self, n, a, s=0): ...: super().__init__(n, a)  # 显式调用父类的初始化方法
     ...:         self.score = s  # 添加成绩属性
     ...:         print("Student类的__init__方法被调用") ...: ...: def infos(self): ...: super().infos() # 调用父类的方法
     ...:         print("成绩:", self.score) ...: ...: ...: s1 = Student('小张', 20, 100) ...: s1.infos() Human的__init__方法被调用 Student类的__init__方法被调用 姓名: 小张 年龄: 20 成绩: 100

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM