请老师讲一讲调用父类的方法和给父类初始化的方法

来源: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)

如果我的回答解决了你的疑惑,欢迎采纳!!^_^ 祝学习愉快~~~~~

0

0 学习 · 8160 问题

查看课程