Devolver funciones
Daniel Ripolles (Eru)
ripolles en aditel.org
Mar Oct 21 20:08:59 CEST 2003
El Martes, 21 de Octubre de 2003 19:02, Batista, Facundo escribió:
> #- Quiero que una función me devuelva otra función, para hacer algo así:
> #- def suma(x, y):
> #- return x+y
> #-
> #- def función(x, y):
> #- #algo, y devuelve una función
> #- funcion(elevar, 5)(5) # y me devuelva 5 al cubo.
> #-
no entiendo exactemente que quieres hacer, pero igual te sirven unos
ejemplitos:
>>> def f(x): return x*2
...
>>> def funciondoble(): return f
...
>>> funciondoble()(3)
6
>>> def otrafuncion():
... return lambda x:x+1
...
>>> otrafuncion()(4)
5
>>>
No sé si es lo que buscas, pero si van por ahí los tiros recuerda que una
función también es un objeto, por lo que puedes utilizar su "nombre" como un
objeto cualquiera.
--
Daniel Ripolles ( Eru )
perl -e '$SIG{__WARN__}=sub{$_||=pop;
s,o.*,$^X,,s$/.*/$$,print};++$^W;m||'
Más información sobre la lista de distribución Python-es