<div dir="ltr">>>> def f():<br>...     print(n)<br><div>... <br></div><div>non ho ancora dichiarato n.</div><div>La dichiaro esternamente alla funzione, quindi (correggetemi se sbaglio) n sarà una variabile globale.</div><div><br></div>>>> n = 10<br>>>> f()<br><div>10</div><div><br></div><div>A conferma di quanto scritto sopra, n viene stampata.</div><div><br></div><div>Ora faccio la stessa cosa ma faccio incrementare di 1 la variabile alla funzione prima di stamparla.<br></div><br>>>> def f():<br>...     n += 1<br>...     print(n)<br>... <br>>>> n = 10<br>>>> f()<br>Traceback (most recent call last):<br>  File "<stdin>", line 1, in <module><br>  File "<stdin>", line 2, in f<br><div>UnboundLocalError: local variable 'n' referenced before assignment</div><div><br></div><div>E qua non capisco...perché riesco a stamparla ma non ad incrementarla?<br></div></div>