super()
Llama al método del padre desde una subclase. Escribe el comportamiento extra después (o alrededor) de esa llamada.
Sintaxis
class Child(Parent):def method(self, n):super().method(n)
- Si redefines __init__, llama a super().__init__() o la configuración del padre nunca se ejecuta.
Ejemplo
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)Salida:
2
Errores comunes
- Olvidar self en una redefinición es un TypeError. Olvidar super() se salta el método del padre por completo.