Ambito Python
Una variabile è disponibile solo all'interno della regione in cui è stata creata. Questo è chiamato ambito .
Ambito locale
Una variabile creata all'interno di una funzione appartiene all'ambito locale di tale funzione e può essere utilizzata solo all'interno di tale funzione.
Esempio
Una variabile creata all'interno di una funzione è disponibile all'interno di quella funzione:
def myfunc():
x = 300
print(x)
myfunc()
Funzione all'interno della funzione
Come spiegato nell'esempio sopra, la variabile x
non è disponibile all'esterno della funzione, ma è disponibile per qualsiasi funzione all'interno della funzione:
Esempio
È possibile accedere alla variabile locale da una funzione all'interno della funzione:
def myfunc():
x = 300
def myinnerfunc():
print(x)
myinnerfunc()
myfunc()
Ambito globale
Una variabile creata nel corpo principale del codice Python è una variabile globale e appartiene all'ambito globale.
Le variabili globali sono disponibili in qualsiasi ambito, globale e locale.
Esempio
Una variabile creata al di fuori di una funzione è globale e può essere utilizzata da chiunque:
x = 300
def myfunc():
print(x)
myfunc()
print(x)
Denominazione delle variabili
Se operi con lo stesso nome di variabile all'interno e all'esterno di una funzione, Python le tratterà come due variabili separate, una disponibile nell'ambito globale (all'esterno della funzione) e una disponibile nell'ambito locale (all'interno della funzione):
Esempio
La funzione stamperà il locale x
, quindi il codice stamperà il globale x
:
x = 300
def myfunc():
x = 200
print(x)
myfunc()
print(x)
Parola chiave globale
Se devi creare una variabile globale, ma sei bloccato nell'ambito locale, puoi utilizzare la
global
parola chiave.
La global
parola chiave rende la variabile globale.
Esempio
Se si utilizza la global
parola chiave, la variabile appartiene all'ambito globale:
def myfunc():
global x
x = 300
myfunc()
print(x)
Inoltre, utilizzare la global
parola chiave se si desidera apportare una modifica a una variabile globale all'interno di una funzione.
Esempio
Per modificare il valore di una variabile globale all'interno di una funzione, fare riferimento alla variabile utilizzando la global
parola chiave:
x = 300
def myfunc():
global x
x = 200
myfunc()
print(x)