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