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.

    1. a=10
    2. b=0
    3. try:
    4. printf(a/b)
    5. except ZeroDivisionError:
    6. pass
    7. 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").

    un esempio di spazio del codice da compilare obbligatoriamente

    Per risolvere il problema inserisco l'istruzione pass sotto la clausola except.

    In questo modo le regole di sintassi del linguaggio sono rispettate.

    la soluzione del problema

    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.

     


     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    Python ( eccezioni )

    1. Come gestire le eccezioni

    Le istruzioni

    1. try except
    2. pass
    3. raise
    4. sys.exc_info()