Tema: RanaRama
Ver Mensaje Individual
  #9 (permalink)  
Antiguo 28/01/2013, 22:49
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: RanaRama

Cita:
Iniciado por tecafede Ver Mensaje
Gracias por el enlace y por la solución!

def ranaRama_main():
pJugador = inicializar()

no sabía que se inicializaba la variable tomando la salida de la otra función que en este caso tiene el mismo nombre.
No, en este caso pJugador es una variable local.

Cita:
Iniciado por tecafede Ver Mensaje
Desde mi punto de vista entonces la variable que está dentro de la función es local
Si, así es.

Cita:
Iniciado por tecafede Ver Mensaje
y la que toma el valor afuera es la global
Exacto!

Cita:
Iniciado por tecafede Ver Mensaje
pero no es necesario definirla como tal.
Solo me queda agregar que solamente es necesario definirla como tal dentro de la función, si vas a asignarle un nuevo valor. De todas formas, es mejor que expreses explicitamente que esa variable es global usando globals.

Y por ultimo, no usen variables globales, aparte que el código se vuelve mas difícil de leer, las variables globales hacen que los componente de un programa estén atados, pueden sufrir problemas de concurrencia y generalmente el uso de variables globales es propensa a errores. Ademas es considerado como una mala practica.