Logo de CursoIA
CursoIA Curso de Inteligencia Artificial

Python desde cero - enfoque científico, Unidad 5 — Funciones y modularidad, 5.2 — Ámbito y variables ·

Variables locales y globales

Variables locales y globales: Una guía práctica para principiantes

Introducción

Cuando se trata de programación, una de las diferencias más importantes a entender es la distinción entre variables locales e globales. A veces, estas diferencias pueden resultar confusas y llevar a errores difíciles de depurar. Este artículo te guiará a través del concepto de variables locales y globales en Python, explorando cómo funcionan y cuándo usar cada una.

Explicación principal

En programación, un ámbito (scope) se refiere al alcance o área dentro del código donde una variable puede ser accedida. Las variables pueden ser definidas de dos maneras principales: como globales y locales.

Variables Globales

Una variable global es aquella que está declarada fuera de cualquier función o bloque de código y, por lo tanto, se puede acceder a ella desde cualquier parte del programa. A continuación, te muestro un ejemplo:

# Declaración de una variable global
global_var = 10

def func():
    print(global_var)

func()
print(global_var)

Variables Locales

Una variable local se define dentro de una función y solo puede ser accedida desde esa función. Si intentas imprimir una variable local fuera de su ámbito, obtendrás un error NameError. Veamos un ejemplo:

def func():
    local_var = 5
    print(local_var)

func()
print(local_var)  # Esto generará un NameError

Ejemplo combinado

Podemos combinar las dos variables en un solo programa para ver cómo funcionan juntas:

global_var = 10

def func():
    local_var = 5
    print("Dentro de la función:", local_var, global_var)

func()
print("Fuera de la función:", global_var)

En este ejemplo, local_var solo es accesible dentro de la función func, mientras que global_var se puede acceder tanto dentro como fuera de la función.

Errores típicos / trampas

Aprender a diferenciar entre variables locales e globales puede ser confuso. Aquí te presentamos algunos errores comunes:

  1. Asignación accidental en lugar de reasignación:
  • Puedes asignar un valor a una variable global dentro de una función, pensando que estás reasignando una variable local. Esto puede llevar a comportamientos inesperados.
  1. Dependencia implícita en funciones anidadas:
  • Si una función interna intenta acceder a una variable definida en el ámbito de la función externa, esto puede causar confusión y errores difíciles de depurar.
  1. Confusión entre variables con el mismo nombre:
  • Definir una variable con el mismo nombre tanto local como global puede llevar a comportamientos inesperados. Asegúrate de usar nombres distintos para evitar confusiones.

Checklist accionable

  1. Revisa tus nombres de variables: Asegúrate de que los nombres de tus variables sean descriptivos y únicos, evitando confusiones con otros nombres en el código.
  2. Usa global con precaución: Si necesitas modificar una variable global dentro de una función, usa la palabra clave global para evitar cualquier ambigüedad.
  3. Mantén los alcances claros: Asegúrate de que tus variables tengan el ámbito más limitado posible para facilitar el seguimiento y depuración del código.
  4. Evita dependencias implícitas en funciones anidadas: Si una función interna necesita acceso a una variable, asegúrate de pasarla como argumento o hacerla global si es necesario.
  5. Utiliza nonlocal para variables entre funciones anidadas: Si estás trabajando con funciones anidadas y necesitas modificar una variable que no es global pero está en el ámbito de la función externa, usa la palabra clave nonlocal.

Cierre: Siguientes pasos

Ahora que has aprendido sobre las variables locales e globales, aquí te presentamos algunas sugerencias para seguir avanzando:

  • Profundiza en funciones y módulos: Trata de comprender cómo funcionan las funciones y los módulos en Python.
  • Aprende a usar nonlocal: Esta palabra clave es útil cuando trabajas con funciones anidadas y necesitas modificar una variable que está definida en el ámbito de la función externa.
  • Practica con proyectos más grandes: Trata de aplicar lo que has aprendido a proyectos más grandes para reforzar tus habilidades.

¡Felicitaciones por llegar hasta aquí! Ahora estás equipado con una comprensión sólida de cómo funcionan las variables locales e globales en Python.

Contacto

Indica tu objetivo (ChatGPT, RAG, agentes, automatización) y tu stack (web/backend).