Re: [Python-es] Llamar a variable dentro de función
Chema Cortes
py en ls-l.org
Jue Jul 28 09:16:59 CEST 2005
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()
Más información sobre la lista de distribución Python-es