Alcance de Variables (Scope)

El alcance se refiere a la región del código donde una variable es accesible.

Tipos de alcance:

  • Local: Dentro de una función.
  • Global: Fuera de todas las funciones.
  • Nonlocal: En funciones anidadas (cierre).

Ejemplo:

x = "global"

def mi_funcion():
    x = "local"
    print("Dentro de la función:", x)

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

global y nonlocal:

contador = 0

def incrementar():
    global contador
    contador += 1
def externa():
    x = "externa"
    def interna():
        nonlocal x
        x = "modificada"
    interna()
    print(x)