web stats

Para Que Sirve Global En Python


Para Que Sirve Global En Python

En Python, la palabra clave global es una herramienta poderosa pero que a veces genera confusión. Sirve para modificar variables que están definidas fuera del ámbito local de una función. Vamos a explorar su utilidad con ejemplos claros.

¿Qué es el ámbito (scope) en Python?

Primero, hay que entender el concepto de ámbito. El ámbito se refiere a la región de un programa donde una variable es accesible. Python tiene diferentes tipos de ámbitos. Entre ellos encontramos el ámbito local y el ámbito global. El ámbito local es el de una función. El ámbito global es el del módulo o archivo actual.

Cuando definimos una variable dentro de una función, esa variable generalmente solo existe dentro de esa función. Intentar acceder a ella desde fuera de la función resultará en un error. Esto se debe a que Python trata las variables dentro de una función como locales a esa función.

La palabra clave 'global' en acción

La palabra clave global nos permite acceder y modificar una variable global dentro de una función. Sin global, Python crearía una nueva variable local con el mismo nombre. Esto significa que la variable global original no se vería afectada.

Veamos un ejemplo sencillo:

¿Para que sirve Python? - Azul School
¿Para que sirve Python? - Azul School

variable_global = 10

def mi_funcion():
  global variable_global
  variable_global = 20
  print("Dentro de la función:", variable_global)

mi_funcion()
print("Fuera de la función:", variable_global)
  

En este ejemplo, al declarar global variable_global dentro de mi_funcion(), le indicamos a Python que queremos usar la variable variable_global que está definida fuera de la función. Al asignarle el valor 20 dentro de la función, estamos modificando la variable global original. Por eso, al imprimirla fuera de la función, vemos que también ha cambiado a 20.

¿Qué ocurre si no usamos 'global'?

Si omitimos la palabra clave global en el ejemplo anterior, el comportamiento sería diferente:


variable_global = 10

def mi_funcion():
  variable_global = 20
  print("Dentro de la función:", variable_global)

mi_funcion()
print("Fuera de la función:", variable_global)
  

En este caso, dentro de mi_funcion(), Python crearía una nueva variable local llamada variable_global. La variable global original permanecería sin cambios. Al imprimir la variable dentro de la función, veríamos el valor 20, pero al imprimirla fuera de la función, seguiría siendo 10.

Qué es Python: para qué sirve y funciones (+ recursos)
Qué es Python: para qué sirve y funciones (+ recursos)

Cuándo usar 'global' (y cuándo no)

La palabra clave global debe usarse con moderación. Modificar variables globales desde dentro de las funciones puede hacer que el código sea más difícil de entender y mantener. En general, es mejor pasar variables como argumentos a las funciones y devolver los resultados.

Sin embargo, hay situaciones donde global puede ser útil. Por ejemplo, cuando se trabaja con variables que representan el estado de una aplicación o configuraciones globales que deben ser accesibles y modificables desde diferentes partes del código. También se usa en ciertos patrones de diseño, como el patrón Singleton.

Python Tutorial #23 - Global Keyword in Python Programming - YouTube
Python Tutorial #23 - Global Keyword in Python Programming - YouTube

Un ejemplo de un caso de uso válido podría ser el manejo de un contador global:


contador = 0

def incrementar_contador():
  global contador
  contador += 1
  print("Contador:", contador)

incrementar_contador()
incrementar_contador()
incrementar_contador()
  

Alternativas a 'global'

Si quieres evitar el uso excesivo de global, considera las siguientes alternativas:

  • Pasar variables como argumentos: Es la forma más clara y controlada de compartir datos entre funciones.
  • Devolver valores: Permite que una función modifique datos y los devuelva para que la función que la llamó pueda usarlos.
  • Clases y objetos: Agrupan datos y funciones relacionadas, lo que facilita la gestión del estado.

En resumen, global en Python permite modificar variables globales desde funciones. Úsala con cuidado y considera alternativas más estructuradas cuando sea posible. Comprender el ámbito de las variables es crucial para escribir código Python limpio y mantenible. Recuerda que la claridad y la legibilidad son fundamentales.

02 ¿Qué es y para qué sirve Python? - YouTube ¿Qué es Python?: Una Introducción al Lenguaje » CodigoNautas ¿Para qué sirve Python? Python: qué es, para qué sirve y cómo se programa | Informática Industrial Python Global Variables in Function - Spark By {Examples} Variables GLOBALES, LOCALES y FUNCIONES ANIDADAS - Curso Python básico Python: qué es, para qué sirve y cómo se programa | Informática Industrial

You might also like →