Estoy tratando de aprender curry en Python para miclase y tengo que sobrecargar el operador () para ello. Sin embargo, no entiendo cómo puedo sobrecargar al operador (). ¿Puedes explicar la lógica detrás de sobrecargar los paréntesis? ¿Debo sobrecargar primero (y luego) o puedo hacer algo de esto? Además, ¿hay un nombre especial para el operador de paréntesis?
Respuestas
33 para la respuesta № 1Puedes hacer un objeto llamable implementando el __call__
método:
class FunctionLike(object):
def __call__(self, a):
print "I got called with %r!" % (a,)
fn = FunctionLike()
fn(10)
# --> I got called with 10!