keyword nonlocal en Python

La keyword nonlocal en Python se usa para trabajar con variables dentro de funciones anidadas, donde la variable no debe pertenecer a la función interna.

La palabra reservada de esta lección forma parte del núcleo del lenguaje Python. No puedes usarla como nombre de variable; su significado es fijo y universal en cualquier proyecto.

Entender keywords reduce errores de sintaxis y acelera la lectura de código ajeno.

En esta lección de keyword nonlocal en Python combinamos explicación clara y código ejecutable. El objetivo es que entiendas el concepto y puedas reutilizarlo en tus propios scripts de Python.

Las palabras reservadas forman parte de la gramática del lenguaje: no puedes usarlas como nombres de variables. Memorizar su función te ayuda a leer código ajeno con fluidez.

Errores frecuentes: olvidar la indentación en bloques if, for o def; confundir = con ==; no importar un módulo antes de usarlo.

En esta lección de keyword nonlocal en Python combinamos explicación clara y código ejecutable. El objetivo es que entiendas el concepto y puedas reutilizarlo en tus propios scripts de Python.

Las palabras reservadas forman parte de la gramática del lenguaje: no puedes usarlas como nombres de variables. Memorizar su función te ayuda a leer código ajeno con fluidez.

Errores frecuentes: olvidar la indentación en bloques if, for o def; confundir = con ==; no importar un módulo antes de usarlo.

Utilice la palabra clave nonlocal para declarar que la variable no es local.

Ejemplo

Haz una función dentro de una función, que usa la variable x como una variable no local:

Ejemplo

    print("Ejemplo de la lección")
x = 2 + 3
print(x)
  

Ejemplo

El mismo ejemplo anterior, pero sin la palabra clave nonlocal:

Ejemplo

    def contador():
    n = 0

    def sumar():
        nonlocal n
        n += 1
        return n

    return sumar

c = contador()
print(c(), c())
  

La Keyword global se usa para hacer variables globales.

Practica keyword nonlocal en Python en el editor

Pon en práctica lo aprendido con nuestro editor Python interactivo. Cada ejercicio incluye el código de partida y un botón para abrirlo en una nueva pestaña, donde puedes modificarlo y ejecutarlo.

Ejercicio: Definir una función

Haz una función dentro de una función, que usa la variable x como una variable no local.

Ejemplo

    def externa():
    mensaje = "hola"

    def interna():
        nonlocal mensaje
        mensaje = "adiós"

    interna()
    return mensaje

print(externa())
  
Abrir en editor

Ejercicio: Definir una función (2)

El mismo ejemplo anterior, pero sin la palabra clave nonlocal.

Ejemplo

    def contador():
    n = 0

    def sumar():
        nonlocal n
        n += 1
        return n

    return sumar

c = contador()
print(c(), c())
  
Abrir en editor

Cómo practicar

1. Pulsa Ejecutar en el bloque de código.
2. Modifica un valor o argumento.
3. Vuelve a ejecutar y observa la consola.