super()
Appelle la méthode parente depuis une sous-classe. Écris le comportement extra après (ou autour) cet appel.
Syntaxe
class Child(Parent):def method(self, n):super().method(n)
- Si tu redéfinis __init__, appelle super().__init__() sinon l'initialisation parente ne s'exécute jamais.
Exemple
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)Sortie :
2
Erreurs courantes
- Oublier self sur une redéfinition est un TypeError. Oublier super() saute entièrement la méthode parente.