我剛剛開始學習關於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