28 de septiembre de 2024
Uso efectivo de 'nonlocal' en Python
-
Blas Fernández
La palabra clave nonlocal
en Python se utiliza en situaciones específicas dentro de funciones anidadas:
- En funciones anidadas (una función dentro de otra).
- Cuando necesitas modificar una variable de la función externa desde la función interna.
- Cuando la variable a modificar no es global, sino del ámbito de la función externa.
Ejemplo:
def funcion_externa():
x = 10
def funcion_interna():
nonlocal x
x = 20
print(f"x interna: {x}")
print(f"x antes: {x}")
funcion_interna()
print(f"x después: {x}")
funcion_externa()
Resultado:
x antes: 10
x interna: 20
x después: 20
nonlocal x
indica que x
en la función interna se refiere a la x
de la función externa. Sin nonlocal
, se crearía una nueva variable local x
en la función interna.
Usa nonlocal
con precaución, ya que puede complicar la legibilidad del código. Considéralo solo cuando sea realmente necesario modificar una variable de una función externa.