elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Ayuda]Como puedo llamar una variable de modulo en una funcion
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Ayuda]Como puedo llamar una variable de modulo en una funcion  (Leído 2,497 veces)
Proxmond

Desconectado Desconectado

Mensajes: 23


Ver Perfil
[Ayuda]Como puedo llamar una variable de modulo en una funcion
« 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.


En línea

Once

Desconectado Desconectado

Mensajes: 120


Ver Perfil WWW
Re: [Ayuda]Como puedo llamar una variable de modulo en una funcion
« Respuesta #1 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!


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines