/ / Overload () operator en Python - python, sobrecarga del operador

Operador Overload () en Python - python, sobrecarga del operador

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 № 1

Puedes 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!