Programador Leigo
⚡ 60 segundos funcoes

Quando usar global e nonlocal

global acessa variáveis do módulo, nonlocal acessa variáveis da função externa. Use com moderação.

global_nonlocal.py
contador = 0

def incrementar():
    global contador
    contador += 1

incrementar()
print(contador)  # 1

def externa():
    x = 10
    def interna():
        nonlocal x
        x += 5
    interna()
    print(x)  # 15

externa()

Compartilhar