En Python, la palabra clave global te permite modificar variables globales desde funciones y gestionar el estado global de tu programa de forma controlada.
Sintaxis
La sintaxis básica para usar la palabra clave global es la siguiente:
global var_name
Donde var_name es el nombre de la variable global que deseas modificar dentro de una función.
Ejemplos prácticos
El ejemplo clásico es un contador global:
>>> counter = 0 # Variable global
>>> def increment():
... global counter # Declaración global
... counter += 1
...
>>> increment()
>>> increment()
>>> # Contador incrementado
>>> counter
2
En este ejemplo, la función increment() utiliza global para modificar la variable counter que se encuentra fuera de la función. Sin la declaración global, intentar ejecutar counter += 1 dentro de la función provocaría un error (UnboundLocalError), pues Python interpretaría que intentas modificar una variable local antes de haberle asignado un valor.
Aunque la palabra clave global puede ser útil en ciertos casos, gestionar el estado de un programa mediante variables globales no es una buena práctica de programación. El uso excesivo de variables globales puede dificultar el mantenimiento, la depuración y la reutilización del código. Siempre que sea posible, emplea alternativas como el paso de argumentos, el retorno de valores o el uso de clases y objetos para gestionar el estado.
Uso de global
Los casos de uso más comunes de la palabra clave global incluyen los siguientes:
- Modificar una variable definida fuera del ámbito de la función actual.
- Compartir una variable entre múltiples funciones dentro del mismo módulo.
- Inicializar o reiniciar variables globales desde funciones cuando el estado global debe ser controlado explícitamente.
Resumiendo
La palabra clave global en Python te permite modificar variables globales desde dentro de una función.
Conocer y emplear esta palabra clave puede facilitar la gestión del estado global del programa de manera controlada, aunque debe usarse con precaución para mantener un código limpio y fácil de mantener.