Il giovedì 20 agosto 2020, 10:15:09 CEST, Valerio Pachera <siri...@gmail.com> ha scritto: >>> def f(): ... print(n) ... non ho ancora dichiarato n.La dichiaro esternamente alla funzione, quindi (correggetemi se sbaglio) n sarà una variabile globale. >>> n = 10 >>> f() 10 A conferma di quanto scritto sopra, n viene stampata. Ora faccio la stessa cosa ma faccio incrementare di 1 la variabile alla funzione prima di stamparla.
>>> def f(): ... n += 1 ... print(n) ... >>> n = 10 >>> f() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 2, in f UnboundLocalError: local variable 'n' referenced before assignment E qua non capisco...perché riesco a stamparla ma non ad incrementarla? ___________________________________________________________________________________ Mi intrometto per riferire quanto so io a proposito:la variabile viene vista, è vero..Per essere aggiornata, però, deve essere stata definita globale all'interno della funzione con la parola chiave "global". _______________________________________________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
_______________________________________________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python