one more question. In the code below, there are 2 init() methods, one for the class 'Fahrzeug' and one for the class 'PKW'. The program works when I instantiate the class as:
fiat = PKW("Fiat Marea",50,0) but it fails if I say: *fiat = PKW("Fiat Marea",50,0,1)* *Traceback (most recent call last): File "erben_a.py", line 19, in <module> fiat = PKW("Fiat Marea",50,0,1)TypeError: __init__() takes 4 positional arguments but 5 were given* yet the statement in *bold* matches IMO the init() method of the PKW class. Can anyone explain why? Thanks. --- class Fahrzeug: def __init__(self, bez, ge): self.bezeichnung = bez self.geschwindigkeit = ge def beschleunigen(self, wert): self.geschwindigkeit += wert def __str__(self): return self.bezeichnung + " " +str(self.geschwindigkeit) + " km/h" class PKW(Fahrzeug): def __init__(self, bez, ge, ins): super(PKW, self).__init__(bez,ge) self.insassen = ins def __str__(self): return Fahrzeug.__str__(self) + " " + str(self.insassen) + " Insassen" def einsteigen(self, anzahl): self.insassen += anzahl def aussteigen(self, anzahl): self.insassen -= anzahl fiat = PKW("Fiat Marea",50,0,1) fiat = PKW("Fiat Marea",50,0) fiat.einsteigen(3) fiat.aussteigen(1) fiat.beschleunigen(10) print(fiat) Am Do., 12. März 2020 um 17:38 Uhr schrieb Pieter van Oostrum < piete...@vanoostrum.org>: > joseph pareti <joeparet...@gmail.com> writes: > > > thank you, that fixes it. I also noticed that both statements work: > > > > super(PKW, self).__init__(bez,ge) > > > > or > > > > super().__init__(bez,ge) > > The first is the required Python 2 calling (at least the first argument is > required). The second way can be used in Python 3. > -- > Pieter van Oostrum > www: http://pieter.vanoostrum.org/ > PGP key: [8DAE142BE17999C4] > -- > https://mail.python.org/mailman/listinfo/python-list > -- Regards, Joseph Pareti - Artificial Intelligence consultant Joseph Pareti's AI Consulting Services https://www.joepareti54-ai.com/ cell +49 1520 1600 209 cell +39 339 797 0644 -- https://mail.python.org/mailman/listinfo/python-list