hacer constantes algunas variables de una funcion

Chema Cortes pych3m4 en gmail.com
Jue Mar 1 19:44:31 CET 2007


El 1/03/07, tny <a.porrua en gmail.com> escribió:
> El jue, 01-03-2007 a las 13:15 +0100, Chema Cortes escribió:

> > No sé, se me ocurre lo siguiente:
> >
> >
> > def generador(f,**params):
> >   def retf(**args):
> >     args.update(params)
> >     return f(**args)
> >   return retf
> >
> >
> > ¿Es lo que buscabas?
>
> Pues parece que no...
> Igual no me explique bien, o no lo comprobaste...
>
> >>> def f(a='a', b='b', c='c', d='d'):
> ...     return [a,b,c,d]
> ...
> >>> def generador(f,**parametros):
> ...     def retf(**args):
> ...             args.update(parametros)
> ...             return f(args)

no lo pusiste bien, en el retorno faltan dos asteriscos delante del
args (compáralo con el código que te puse)


> ...     return retf
> ...
> >>> g=generador(f, a='A',b='B')
> >>> g(c='C',d='D')
> [{'a': 'A', 'c': 'C', 'b': 'B', 'd': 'D'}, 'b', 'c', 'd']
>
> debería haber devuelto ['A','B','C','D']
>
> De todas maneras no tiene ninguna importancia, es simple curiosidad...
> pero parece que van por ahí los tiros.
>
> Post-Data es un pasatiempo, simple curiosidad, no tiene ninguna
> importancia, ni lo necesito para nada.




Más información sobre la lista de distribución Python-es