Ho una variabile globale Ho chiamato Y_VAL che è inizializzato a un valore di 2.Perché python pensa che questa sia una variabile locale?
Ho quindi una funzione, chiamata f() (per brevità), che utilizza Y_VAL.
def f():
y = Y_VAL
Y_VAL += 2
Tuttavia, quando si cerca di eseguire il mio codice, python dà il messaggio di errore:
UnboundLocalError: local variable 'Y_VAL' referenced before assignment
Se rimuovo l'ultima riga Y_VAL += 2
funziona benissimo.
Perché python pensa che Y_VAL sia una variabile locale?
possibile duplicato di [Perché non posso impostare una variabile globale in Python?] (Http://stackoverflow.com/questions/1281184/why-cant-i-set-a-global-variable-in-python) – Mark