super()
Rufe die Elternmethode aus einer Unterklasse auf. Schreib das Extra-Verhalten danach (oder darum herum).
Syntax
class Child(Parent):def method(self, n):super().method(n)
- Wenn du __init__ überschreibst, rufe super().__init__() auf, sonst läuft die Eltern-Initialisierung nie.
Beispiel
class Counter:
def __init__(self):
self.n = 0
def add(self):
self.n += 1
class Fast(Counter):
def add(self):
super().add()
self.n += 1
c = Fast()
c.add()
print(c.n)Ausgabe:
2
Häufige Fehler
- self auf einer Überschreibung zu vergessen ist ein TypeError. super() zu vergessen überspringt die Elternmethode komplett.