Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Proxmond en 22 Junio 2014, 16:51 pm



Título: [Ayuda]Como puedo llamar una variable de modulo en una funcion
Publicado por: Proxmond en 22 Junio 2014, 16:51 pm
si miramos este código:

Código:
var = 10

def funcion():
    var = 9
    print(var)

funcion()
print(var)

Tengo una variable de modulo con el valor de 10.
En mi función "funcion" estoy cambiándole el valor a la variable var que había declarado anteriormente, cuando imprimo me imprime el 9, bien hasta ahí.
Pero cuando imprimo la variable var fuera de la función me imprime 10, osea que nunca le cambie el valor a la variable var, entonces lo que hice fue declarar una nueva variable de función y nada que ver con la otra. Lo único que quiero es modificar el valor de la variable de modulo var, la primera que declare, pero dentro de la función.

¿Como podría solucionar esto?
Espero que puedan ayudarme, Saludos.


Título: Re: [Ayuda]Como puedo llamar una variable de modulo en una funcion
Publicado por: Once en 22 Junio 2014, 18:27 pm
En realidad las dos variables var son distintas, una es accesible a nivel de módulo (var = 10) y la segunda a nivel de la función funcion (var = 9). Para modificar el valor, puedes hacer global la variable:

Código
  1. var = 10
  2.  
  3. def funcion():
  4.    global var
  5.    var = 9
  6.    print(var)
  7.  
  8. funcion()
  9. print(var)

Saludos!