Python Language Variabili locali


Esempio

Se un nome è associato a una funzione, per impostazione predefinita è accessibile solo all'interno della funzione:

def foo():
    a = 5
    print(a) # ok

print(a) #  NameError: name 'a' is not defined

I costrutti del flusso di controllo non hanno alcun impatto sull'ambito (ad eccezione di except ), ma l'accesso alla variabile che non è stata ancora assegnata è un errore:

def foo():
    if True: 
        a = 5
    print(a) # ok

b = 3
def bar():
    if False:
        b = 5
    print(b) # UnboundLocalError: local variable 'b' referenced before assignment

Operazioni comuni vincolanti assegnazioni, for cicli e assegnazioni aumentata come a += 5