使用Python超级麻烦

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)