请老师讲一讲调用父类的方法和给父类初始化的方法
来源:2-3 编程练习
Pinesong
2019-04-27 18:26:09
def __init__(self, name, gender): # super(Person, self).__init__() # super().__init__() # object.__init__(self) 这种不行,上面注释掉的两种可以 self.name = name self.gender = gender def __init__(self, name, gender, score, major, __stu_num = '2018014002'): # super().__init__(name,gender) # super(Student,self).__init__(name,gender) # object.__init__(self,name,gender) 这种不行,上面注释掉的两种可以 self.score = score self.major = major self.__stu_num = __stu_num
1回答
慕猿梦
2019-04-28
同学,你好,python3中所有的类都继承了object类,super()调用父类时是一级一级的调用,你的这个例子前两个都是先从person类找,如果找到则输出结果,如果未找到继续找object父类,而直接使用object.__init__(),是直接去找object类,没有找到结果,所以这种方法不可行。
调用父类的初始化方法有两种:
(1)类名.__init__(self,name)
(2)super(自身类名,self).__init__(name)或者super().__init__(name)
如果我的回答解决了你的疑惑,欢迎采纳!!^_^ 祝学习愉快~~~~~
相似问题