L'istruzione pass in Python
L'istruzione pass non fa assolutamente nulla. E' un'istruzione di comodo del linguaggio Python che posso inserire per occupare una parte obbligatoria del codice.
La sintassi
pass
L'istruzione non genera output, né alcuna elaborazione.
A cosa serve?
E' particolarmente utile nella gestione delle eccezioni del linguaggio Python.
Per spiegare la sua utilità, credo sia meglio fare un esempio pratico.
Un esempio pratico
In questo codice inserisco appositamente una divisione per zero.
E' un'operazione impossibile che genera un errore in qualsiasi linguaggio di programmazione.
- a=10
- b=0
- try:
- printf(a/b)
- except ZeroDivisionError:
- pass
- print("fine")
Per qualche ragione voglio che il programma termini l'esecuzione anche in caso di errore.
Nella riga 5 intercetto l'errore della divisione per zero ( ZeroDivisionError ) tramite un'eccezione try except.
Tuttavia, la clausola except si aspetta un blocco di istruzioni indentato. E' obbligatorio digitare qualcosa, in caso contrario l'interprete Python restituirebbe un altro errore ("expected an indented block").
Per risolvere il problema inserisco l'istruzione pass sotto la clausola except.
In questo modo le regole di sintassi del linguaggio sono rispettate.
A questo punto lancio l'esecuzione del programma con F5 ( Run ).
L'output del programma è il seguente:
fine
Tutto gira e funziona correttamente.
Lo script non mostra alcun errore, risolve l'eccezione senza fare nulla e termina l'esecuzione fino all'ultima riga del codice.
E così via.