super()
Chiama il metodo del genitore da una sottoclasse. Scrivi il comportamento extra dopo (o intorno) quella chiamata.
Sintassi
class Child(Parent):def method(self, n):super().method(n)
- Se ridefinisci __init__, chiama super().__init__() o l'impostazione del genitore non gira mai.
Esempio
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)Output:
2
Errori comuni
- Dimenticare self su una ridefinizione è un TypeError. Dimenticare super() salta del tutto il metodo del genitore.