Curso de python nivel medio
¿Qué es el alcance de una variable?
El alcance de una variable se refiere a la parte del programa en la que esa variable es accesible o puede ser utilizada. En Python, las variables pueden tener un alcance local o un alcance global.
Variables locales
Una variable local es una variable que se define dentro de una función y solo es accesible dentro de esa función. No se puede acceder a ella desde fuera de la función.
Ejemplo de variable local
1def saludar(): 2 mensaje = "Hola, mundo" # Variable local 3 print(mensaje) 4 5saludar() 6 7# Intentar acceder a 'mensaje' fuera de la función causará un error 8# print(mensaje) # Esto dará un error porque 'mensaje' es localSalida de Consola!: Hola, mundo
- ¿Qué hace este código?:
- Define una función
saludarque contiene una variablemensaje. mensajees una variable local porque solo existe dentro de la funciónsaludar.- Si intentas usar
mensajefuera de la función, recibirás un error porque no está definida en ese ámbito.
- Define una función
Variables globales
Una variable global es una variable que se define fuera de cualquier función y es accesible desde cualquier parte del programa, tanto dentro como fuera de las funciones.
Ejemplo de variable global
1mensaje = "Hola, mundo" # Variable global 2 3def saludar(): 4 print(mensaje) # Se puede acceder a la variable global dentro de la función 5 6saludar() 7print(mensaje) # Se puede acceder a la variable global fuera de la funciónSalida de Consola!: Hola, mundo Hola, mundo
- ¿Qué hace este código?:
- Define una variable global
mensaje. - La función
saludaraccede a esta variable global y la imprime. - La variable global
mensajetambién puede ser utilizada fuera de la función.
- Define una variable global
Modificar variables globales dentro de una función
Si intentas modificar una variable global dentro de una función sin decirle explícitamente a Python que es global, Python creará una nueva variable local con el mismo nombre.
Ejemplo sin la declaración global
1contador = 10 # Variable global 2 3def incrementar(): 4 contador = 5 # Crea una nueva variable local 5 contador += 1 6 print("Valor de 'contador' dentro de la función:", contador) 7 8incrementar() 9print("Valor de 'contador' fuera de la función:", contador)Salida de Consola!: Valor de 'contador' dentro de la función: 6 Valor de 'contador' fuera de la función: 10
- ¿Qué hace este código?:
- Define una variable global
contador. - Dentro de la función
incrementar, intenta modificarcontador, pero en realidad está creando una nueva variable local con el mismo nombre. - La variable global
contadorno se ve afectada por los cambios dentro de la función.
- Define una variable global
Ejemplo con la declaración global
Si realmente quieres modificar la variable global desde dentro de la función, debes usar la palabra clave global.
1contador = 10 # Variable global 2 3def incrementar(): 4 global contador # Decirle a Python que use la variable global 5 contador += 1 6 print("Valor de 'contador' dentro de la función:", contador) 7 8incrementar() 9print("Valor de 'contador' fuera de la función:", contador)Salida de Consola!: Valor de 'contador' dentro de la función: 11 Valor de 'contador' fuera de la función: 11
- ¿Qué hace este código?:
- Usa la palabra clave
globalpara decirle a Python que se debe usar la variable globalcontadordentro de la funciónincrementar. - Ahora, cuando se modifica
contadordentro de la función, se modifica la variable global.
- Usa la palabra clave
Resumen
-
Variables locales:
- Definidas dentro de una función.
- Solo accesibles dentro de esa función.
- Desaparecen después de que la función termina de ejecutarse.
-
Variables globales:
- Definidas fuera de todas las funciones.
- Accesibles desde cualquier parte del código, tanto dentro como fuera de las funciones.
- Pueden ser modificadas dentro de las funciones usando la palabra clave
global.
Conclusión
Entender el alcance de las variables es crucial para evitar errores y escribir código claro y funcional. Las variables locales se usan para almacenar datos que solo son necesarios dentro de una función, mientras que las variables globales se usan para datos que deben ser accesibles en todo el programa. ¡Practica con ejemplos para familiarizarte con cómo y cuándo usar cada tipo de variable!
- Loading...