Le variabili locali e globali in Python

Nel vasto mondo della programmazione, comprendere la differenza tra variabili locali e globali è fondamentale per scrivere codice efficiente e manutenibile. In questa lezione, esamineremo attentamente cosa sono le variabili locali e globali, come vengono utilizzate in Python e come possono influenzare la struttura e l'esecuzione dei nostri programmi.

Cosa sono le variabili locali?

In Python, una variabile locale è una variabile dichiarata all'interno di una funzione e può essere utilizzata solo all'interno di quella funzione. Questo significa che la variabile ha uno "scope" limitato al blocco di codice in cui è stata dichiarata. Fuori da quel blocco, la variabile non è accessibile. Vediamo un esempio:

def esempio_funzione():
	variabile_locale = 10
	print(variabile_locale)

esempio_funzione()
print(variabile_locale) # Questa riga genererà un errore

Nell'esempio sopra, variabile_locale è una variabile locale alla funzione esempio_funzione. Tentando di accedervi al di fuori della funzione genererà un errore.

Il concetto di variabili globali

A differenza delle variabili locali, le variabili globali sono dichiarate al di fuori di qualsiasi funzione e possono essere accedute da qualsiasi parte del programma. Tuttavia, è importante prestare attenzione all'utilizzo delle variabili globali per evitare effetti collaterali indesiderati. Vediamo un esempio:

variabile_globale = 20

def esempio_funzione():
	print(variabile_globale)

esempio_funzione()
print(variabile_globale)

In questo caso, variabile_globale può essere utilizzata sia all'interno che all'esterno della funzione, poiché è stata dichiarata globalmente.

Evitare problemi di nomenclatura in Python

Per evitare confusioni e problemi di nomeclatura, è consigliabile adottare alcune best practice. Quando dichiariamo variabili globali, è buona norma utilizzare nomi descrittivi e, se possibile, evitare di sovrapporle con variabili locali con lo stesso nome. Questo contribuisce a rendere il codice più leggibile e a prevenire potenziali errori.

La parola chiave global in Python

Per modificare il valore di una variabile globale all'interno di una funzione, è necessario utilizzare la parola chiave global. Questo indica a Python che la variabile appartiene allo scope globale e non deve essere creata una nuova variabile locale con lo stesso nome. Ecco un esempio:

variabile_globale = 30

def modifica_globale():
	global variabile_globale
	variabile_globale += 5

modifica_globale()
print(variabile_globale) # Stampa: 35

In conclusione, le variabili locali e globali sono strumenti potenti nella scrittura di codice Python. Comprendere come e quando utilizzare o evitare variabili locali e globali contribuisce significativamente alla struttura e alla chiarezza del codice.

Indice pagine Python: