Cita:
Iniciado por tecafede 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 Desde mi punto de vista entonces la variable que está dentro de la función es local
Si, así es.
Cita:
Iniciado por tecafede y la que toma el valor afuera es la global
Exacto!
Cita:
Iniciado por tecafede 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.