Re: [Python-es] Llamar a variable dentro de función

Pepe Aracil pepe en diselpro.com
Jue Jul 28 14:03:39 CEST 2005


Este python cada día me sorprende más. ;D

Aunque puede que no sea este el caso, ¿No es mejor crearse una clase 
contenedora de variables globales?
Te evitas tener que ir declarando como públicas las variables en las 
cuales vas a escribir.
¿En que casos es mejor declarar variables globales?


----
 >>> class GLOBALES:
...     pass
...
 >>> globales = GLOBALES()
 >>> globales.var1 = "Variable 1"
 >>>
 >>> def f():
...     print globales.var1
...     globales.var1 = "Variable global 1"
...
 >>> f()
Variable 1
 >>> print globales.var1
Variable global 1

----

Salud.





Chema Cortes wrote:
> dani yerga escribió:
> 
> 
>>El caso es que tengo una variable que está dentro de una funcion, y la
>>variable toma un valor cuando se ejecuta esa función, diferente valor
>>cada vez. Lo que me trae de cabeza es que necesito esa variable en otra
>>función que quiero implementar y no la puedo crear, tiene que ser esa
>>misma variable.
>>El problema es que no se como llamar a esa variable en la función
>>nueva, ya que si la llamo por su nombre, me dice que no está definida,
>>lo que es lógico.
> 
> 
> Supongo que no quieres crear una variable global, o que prefieres que
> esté más "ligada" con la función.
> 
> Una posibilidad que se usa poco es utilizar los "atributos" de función:
> 
> 
> def f1():
>   f1.myvar=getattr(f1,"myvar",0) #valor por defecto = 0
>   f1.myvar+=1
> 
> 
> def f2():
>   print "Función f1 ejecutada %d veces"%f1.myvar
> 
> 
> for i in range(10):
>   f1()
> 
> f2()
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es




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