Le variabili globali in Python
Nel linguaggio Python tutte le variabili create fuori da una funzione sono variabili globali.
Una variabile globale può essere letta da qualsiasi punto di un programma.
Le variabili dentro una funzione sono invece variabili locali perché sono accessibili solo dalla funzione.
Ad esempio la variabile x è una variabile globale perché si trova al di fuori delle funzioni.
x = "ok"
def func()
print(x)
func()
E' quindi accessibile anche dalla funzione func()
L'output dello script è
ok
Se una funzione ha una variabile locale con lo stesso nome della variabile globale, la variabile locale non influisce sul valore della variabile globale.
x = "yes"
def func()
x = "no"
func()
print(x)
In questo caso la variabile locale x="no" è utilizzabile sono all'interno della funzione
L'output della funzione è
yes
Per fare in modo che la funzione sostituisca il valore globale della variabile x occorre definirla esplicitamente come variabile globale tramite l'istruzione global
x = "yes"
def func()
global x
x = "no"
func()
print(x)
Il valore della variabile globale viene sostituito dalla funzione.
In questo caso l'output della funzione è
no
E' anche possibile creare una nuova variabile globale dentro la funzione dichiarandola esplicitamente come variabile globale.
def func()
global y
y = "yes"
func()
print(y)
In questo caso l'output della funzione è
yes