[Python] Un concetto difficile per me.

Mauro Casini mauro a iperbole.bologna.it
Lun 16 Nov 2020 14:41:14 CET


Gabriele Battaglia <iz4apu a libero.it> writes:

> Bene, essendo prima di tutto, ed essendo al livello minimo di
> indentazione, le variabili a b e c dovrebbero essere viste da ogni
> punto dello script, giusto? Da qualsiasi funzione.
> Com'è possibile allora che mi compaia
> UnboundLocalError: local variable 'totmaxval' referenced before assignment
>
> totmaxval = 0 è una delle primissime istruzioni, dopo i commenti
> iniziali del file.

Se le asegni un valore all'interno della funzione, viene considerata una
variabile locale, e se la usi prima dell'assegnamento ti da errore.
Per usare la variabile globale anche in caso di assegnamento bisogna
dichiararla global:

a = 1
def func():
  global a
  a += 1



Maggiori informazioni sulla lista Python