trouble using Python super
所以我现在正在学习Python的基础知识,使用的是《Python崩溃课程》。我在关于课程的章节中,更准确地说是在它的子类部分。首先,我的代码是:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | class Car(): """une representation simpliste de voiture""" def __init__(self, constructeur, annee, modele): self.constructeur = constructeur self.modele = modele self.annee = annee self.odometer_reading = 0 def descriptive_name(self): long_name = str(self.annee) + ' ' + self.constructeur + ' ' + self.modele return long_name.title() def update_odometer(self, mileage): """set odometer reading""" if mileage >= self.odometer_reading: self.odometer_reading = mileage else: print("You can't roll back and odometer! ") def increment_odometer(self, miles): self.odometer_reading += miles def read_odometer(self): """print mileage""" print("this car has" + str(self.odometer_reading) +" miles on it. ") class ElectricCar(Car): def __init__(self, constructeur, annee, modele): super().__init__(constructeur, annee, modele) pass my_tesla = ElectricCar('tesla', 'model s', 2016) |
因此,通过此代码,我得到以下错误消息:
super().init(constructeur, annee, modele)
TypeError: super() takes at least 1 argument (0 given)
号
我使用的代码与书中的代码相同(除了法语部分,书中的英语部分)。我试着用和不使用"super()"的"pass",试着用"super"来解释"self"和"car"。
我使用的是python 3,我使用的是Linux。
感谢您的回答:)
super()语法是python 3如果您仍在使用python 2,则需要super(电动车、self)