
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.