所以我目前正在使用 Python Crash Course 一书学习 Python 的基础知识。我在关于类的章节,更准确地说是关于它的子类部分。首先,这是我的代码:
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!\n")
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.\n")
class ElectricCar(Car):
def __init__(self, constructeur, annee, modele):
super().__init__(constructeur, annee, modele)
pass
my_tesla = ElectricCar('tesla', 'model s', 2016)
因此,使用此代码,我收到此错误消息:
极好的()。init (constructeur, annee, modele) TypeError: super() 需要至少 1 个参数(给定 0)
我使用的代码和书中的代码相同(除了法语部分,书中是英文的)。我尝试使用和不使用“super()”的“pass”,并尝试给“super”参数“self”和“Car”。
我正在使用 Python 3,我在 linux 上。
提前感谢您的任何答案:)
super() 语法是 Python 3 如果你还在使用 Python 2,你需要 super(ElectricCar, self)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句