On Fri, 18 Jun 2010 20:04:41 +0200 Chema Cortes wrote:

> Mi consejo es que te crees un diccionario para mantener el ámbito de
> evaluación de tus funciones y pases este diccionario como argumento al
> eval. 

Otra cosa que se suele/puede hacer es "guardar" las variables en los
argumentos de la función:

     def g(z=z):
         print eval("z")

Esta idea también se aplica cuando queremos asegurarnos que la función
anidada ve el valor de la variable en el momento de la definición y
no de la llamada (que es lo que sucede por defecto, ya que son
"variables libres").

Apartado de la documentación donde se explica el tema en detalle:

http://docs.python.org/reference/executionmodel.html#interaction-with-dynamic-features
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a