The following code that uses a class 'Fahrzeug' and an inherited class 'PKW' runs correctly. However, if I use the 'super ' statement in in the PKW class, it ends with the following error message:
*Traceback (most recent call last): File "erben_a.py", line 19, in <module> fiat = PKW("Fiat Marea",50,0) File "erben_a.py", line 11, in __init__ super(PKW, self).__init__()TypeError: __init__() missing 2 required positional arguments: 'bez' and 'ge'* ----- CODE THAT WORKS ------- 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): Fahrzeug.__init__(self, 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) fiat.einsteigen(3) fiat.aussteigen(1) fiat.beschleunigen(10) print(fiat) -----CODE THAT FAILS -------------- 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__()* 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) fiat.einsteigen(3) fiat.aussteigen(1) fiat.beschleunigen(10) print(fiat) -- 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