POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Global y nonlocal en Python

## Global y nonlocal en Python: qué son y cuándo usarlos

Publicado el 19/08/2025

Global vs nonlocal en Python: explicación clara y ejemplos prácticos

En Python existen dos declaraciones que permiten a funciones internas acceder o modificar variables definidas fuera de su ámbito local: global y nonlocal. Entender la diferencia es clave para evitar errores como UnboundLocalError y para diseñar código limpio en proyectos de aplicaciones a medida y software a medida.

Uso de global: la declaración global indica que una variable referenciada dentro de una función remite a la variable global del módulo. Ejemplo simplificado en una sola línea para ilustrar la idea: num = 2; def first(): num = 4; def second(): num = 6; def third(): global num; print(num) # imprime 2. Si además se modifica la variable con global num; num += 10; print(num) entonces la variable global se actualiza y pasa a valer 12.

Uso de nonlocal: nonlocal se emplea en funciones anidadas para referirse a una variable definida en la función exterior inmediata, no en el ámbito global. Ejemplo compacto: num = 2; def first(): num = 4; def second(): num = 6; def third(): nonlocal num; print(num) # imprime 6. Si en third se hace nonlocal num; num += 10; print(num) entonces la variable del ámbito exterior inmediato se modifica y pasa a valer 16 dentro de ese contexto.

Diferencia clave: global apunta al ámbito del módulo, nonlocal apunta al ámbito de una función exterior inmediata. Sin declarar nonlocal o global, una función interior puede leer variables de ámbitos exteriores, pero si intenta asignarles o incrementarlas sin la declaración adecuada Python asume que son locales y se produce UnboundLocalError al intentar usar la variable antes de inicializarla. Ejemplo reducido: intentar hacer num += 5 dentro de una función interior sin declarar nonlocal provoca UnboundLocalError.

No mezclar global y nonlocal en la misma función: Python prohíbe declarar una misma variable como nonlocal y global en la misma función anidada y lanzará un error de sintaxis. Diseñar el alcance de las variables con claridad evita este tipo de conflictos.

Buenas prácticas: evitar abusar de variables globales; preferir pasar parámetros, devolver resultados, usar objetos y atributos de clase o emplear closures con nonlocal cuando convenga. Para proyectos profesionales de software a medida y aplicaciones a medida estas prácticas facilitan mantenibilidad, pruebas y escalabilidad, especialmente cuando se integran soluciones de inteligencia artificial o agentes IA.

Cómo podemos ayudarte desde Q2BSTUDIO: en Q2BSTUDIO somos una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida. Ofrecemos integración de inteligencia artificial y soluciones de ia para empresas, implementación de agentes IA, consultoría en ciberseguridad, servicios cloud aws y azure y servicios de inteligencia de negocio incluyendo power bi para visualización y análisis. Nuestros equipos ayudan a definir la arquitectura correcta, aplicar buenas prácticas de programación y evitar problemas de alcance de variables al diseñar sistemas complejos con componentes de IA, pipelines de datos y microservicios.

Servicios destacados de Q2BSTUDIO: aplicaciones a medida, desarrollo de software a medida, proyectos de inteligencia artificial, agentes IA personalizados, consultoría en ciberseguridad, migración y gestión en servicios cloud aws y azure, servicios inteligencia de negocio y dashboards con power bi. Combinamos experiencia técnica con prácticas de seguridad y escalabilidad para que tu proyecto funcione en producción.

Si necesitas ayuda para diseñar código fiable que integre inteligencia artificial, agentes IA o soluciones en la nube, contacta con Q2BSTUDIO y te acompañamos desde el prototipo hasta la entrega en producción con enfoque en ciberseguridad y rendimiento.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio