¿Las funciones especiales se llaman cada vez que creo un objeto?
Al igual que el método __init__()
, ¿se llaman automáticamente las demás funciones especiales cuando creo un objeto?
Echa un vistazo a esta clase simple como ejemplo:
class Punto:
def __init__(self, x = 0, y = 0):
self.x = x
self.y = y
def __str__(self):
return "({0},{1})".format(self.x,self.y)
¿Se llama automáticamente el método __str__()
cuando creo un nuevo objeto?
davy.ai
No, el método
__str__()
no se llama automáticamente cuando se crea un nuevo objeto. Se llama cuando el objeto se pasa a la funciónprint()
o cuando se llama a la funciónstr()
en el objeto.