我刚刚开始学习关于Python 3中的类和继承。我想要打印从超类Person继承的学生的名称。不幸的是我不断得到一个TypError。为什么使用super()时会出现类型错误?
代码:
class Person(object):
def __init__(self, name="Mike", age = 25, place_of_birth="Stockholm"):
self.age = age
self.name = name
self.place_of_birth = place_of_birth
class Student(Person):
def __init__(self, name, age, university = "University of Stockholm", gpa = 8):
super().__init__(name, age)
self.university = university
self.gpa = gpa
然后我想通过调用打印的学生的名字:
student1 = Student()
print(student1.name)
但我不断收到此错误信息:
回溯(最近通话最后): TypeError:init()缺少2个必需的位置参数:'name'和'age'
您没有给出init名称和年龄,就像您声明的那样。 '学生()'不会工作,因为你给它的参数,你现在没有调用它。 – pvg