Skip to content

L’istruzione pass in Python

Python

In Python, l’istruzione pass non fa nulla. Viene quando utilizzatore è necessario scrivere qualcosa in modo sintattico ma non è necessario fare nulla.

Questo articolo descrive innanzitutto cosa significa pass in Python.

  • Cosa significa l’istruzione pass in Python
  • Differenza tra passare e continuare

Successivamente, in questo articolo viene utilizzato come utilizzare l’istruzione pass con esempi specifici.

  • Definisci una funzione e una classe vuota con pass
  • Crea un file vuoto con pass
  • Chiarire che nulla viene fatto in se … elif … altrimenti … con pass
  • Non eseguire nessuna operazione nella gestione delle eccezioni (= ignora le eccezioni) con pass

Cosa significa l’istruzione pass in Python

Come puoi vedere nella documentazione ufficiale, la dichiarazione di passaggio non fa nulla.

pass è un’operazione nulla: quando viene eseguita, non accade nulla. È utile segnaposto quando un’istruzione è richiesta sintatticamente, ma non è necessario eseguire codice
7. Dichiarazioni semplici – L’istruzione pass – Documentazione di Python 3.9.1

In Python, i contenuti non possono essere omessi nell’istruzione def della definizione della funzione e nell’istruzione se del ramo condizionale. Puoi usare l’istruzione pass quando devi scrivere qualcosa, ma non devi fare nulla.

Differenza tra passare e continuare

Se l’istruzione continua viene utilizzata nel ciclo per o mentre, procederà al passaggio successivo senza eseguire alcun codice scritto dopo continue.

for i in range(3):
    print(i)
    if i == 1:
        continue
        print('CONTINUE')
# 0
# 1
# 2

D’altra parte, l’istruzione pass non fa nulla, quindi il codice scritto dopo l’istruzione pass viene eseguito.

for i in range(3):
    print(i)
    if i == 1:
        pass
        print('PASS')
# 0
# 1
# PASS
# 2

Definisci una funzione e una classe vuota con pass

Potrebbe essere necessario definire una funzione o una classe vuota quando si desidera definire prima una funzione o una classe e quindi posticipare l’implementazione.

Se non viene scritto nulla nell’istruzione def, viene generato un errore.

# def empty_func():
# SyntaxError: unexpected EOF while parsing

È possibile definire una funzione vuota che non fa nulla con l’istruzione pass.

Lo stesso vale per la classe.

# class EmptyClass():
# SyntaxError: unexpected EOF while parsing

class EmptyClass():
    pass

se non sia raccomandato in PEP8 (E701), la scrittura di pass dopo i due punti: non generi un errore.

def empty_func_one_line(): pass

class EmptyClassOneLine(): pass

Crea un file vuoto con pass

Per creare un nuovo file, utilizzare con e open() in modalità di scrittura w.

Normalmente, il contenuto del file viene scritto dal metodo write(), ecc., ma è possibile un file vuoto utilizzando l’istruzione creare pass.

with open('temp/empty.txt', 'w'):
    pass

Puoi anche scrivere in una riga come sopra.

with open('temp/empty.txt', 'w'): pass

In Python 3.4 e versioni successive, è anche possibile creare un file vuoto con touch() del modulo pathlib.

Chiarire che nulla viene fatto in se … elif … altrimenti … con pass

Non puoi omettere il contenuto di ogni blocco in if … elif … else ….

Utilizzare l’istruzione pass quando si desidera implementare l’o quando semplifica la comprensione dell’intento del codice affermando essenzialmente che non viene eseguita alcuna operazione.

a = 3
if a % 2 == 0:
    print('Even')
else:
    pass

Non eseguire nessuna operazione nella gestione delle eccezioni (= ignora le eccezioni) con pass

Quando si verifica un’eccezione, viene emesso un messaggio di errore e il processo viene terminato.

def divide(a, b):
    print(a / b)

# divide(1, 0)
# ZeroDivisionError: division by zero

Puoi usare try per catturare un’eccezione e agire. Se viene rilevata un’eccezione, il processo continua senza terminare.

def divide_exception(a, b):
    try:
        print(a / b)
    except ZeroDivisionError as e:
        print('ZeroDivisionError: ', e)

divide_exception(1, 0)
# ZeroDivisionError:  division by zero

Usa l’istruzione pass se vuoi catturare un’eccezione e non fare nulla. Anche se si verifica un’eccezione, il processo può continuare senza fare nulla.

def divide_exception_pass(a, b):
    try:
        print(a / b)
    except ZeroDivisionError as e:
        pass

divide_exception_pass(1, 0)

Vedere il seguente articolo per i dettagli sulla gestione delle eccezioni in Python.