Come utilizzare le istruzioni Break, Continue e Pass quando si lavora con i loop in Python 3
introduzione
L'uso dei cicli for e while in Python consente di automatizzare e ripetere le attività in modo efficiente.
Ma a volte, un fattore esterno può influenzare il modo in cui viene eseguito il programma. Quando ciò accade, potresti volere che il tuo programma esca completamente da un ciclo, salti una parte di un ciclo prima di continuare o ignori quel fattore esterno. Puoi eseguire queste azioni con le istruzioni break
, continue
e pass
.
Prerequisiti
Dovresti avere Python 3 installato e un ambiente di programmazione configurato sul tuo computer o server. Se non hai configurato un ambiente di programmazione, puoi fare riferimento alle guide di installazione e configurazione per un ambiente di programmazione sul tuo server appropriato per il tuo sistema operativo (Ubuntu, CentOS, Debian, ecc.)
Dichiarazione di rottura
In Python, l'istruzione break
fornisce l'opportunità di uscire da un ciclo quando viene attivata una condizione esterna. Inserirete l'istruzione break
all'interno del blocco di codice sotto l'istruzione loop, di solito dopo un'istruzione condizionale if
.
Informazioni: per seguire il codice di esempio in questo tutorial, apri una shell interattiva Python sul tuo sistema locale eseguendo il comando python3
. Quindi puoi copiare, incollare o modificare gli esempi aggiungendoli dopo il prompt >>>
.
Diamo un'occhiata a un esempio che utilizza l'istruzione break
in un ciclo for
:
number = 0
for number in range(10):
if number == 5:
break # break here
print('Number is ' + str(number))
print('Out of loop')
In questo piccolo programma, la variabile numero
è inizializzata a 0. Quindi un'istruzione for
costruisce il ciclo fintanto che la variabile numero
è minore di 10.
All'interno del ciclo for
, c'è un'istruzione if
che presenta la condizione che if la variabile number
è equivalente a il numero intero 5, quindi il ciclo si interromperà.
All'interno del ciclo c'è anche un'istruzione print()
che verrà eseguita con ogni iterazione del ciclo for
finché il ciclo non si interrompe, dato che è dopo il break istruzione.
Per sapere quando siamo fuori dal ciclo, abbiamo incluso un'ultima istruzione print()
al di fuori del ciclo for
.
Quando eseguiamo questo codice, il nostro output sarà il seguente:
OutputNumber is 0
Number is 1
Number is 2
Number is 3
Number is 4
Out of loop
Ciò mostra che una volta che l'intero numero
è valutato come equivalente a 5, il ciclo si interrompe, poiché al programma viene detto di farlo con l'istruzione break
.
L'istruzione break
fa sì che un programma esca da un ciclo.
Continua dichiarazione
L'istruzione continue
ti dà la possibilità di saltare la parte di un ciclo in cui viene attivata una condizione esterna, ma di continuare a completare il resto del ciclo. Cioè, l'attuale iterazione del ciclo verrà interrotta, ma il programma tornerà all'inizio del ciclo.
L'istruzione continue
sarà all'interno del blocco di codice sotto l'istruzione loop, di solito dopo un'istruzione condizionale if
.
Usando lo stesso programma di ciclo for
della precedente sezione Istruzione Break, useremo un'istruzione continue
invece di un'istruzione break
:
number = 0
for number in range(10):
if number == 5:
continue # continue here
print('Number is ' + str(number))
print('Out of loop')
La differenza nell'usare l'istruzione continue
piuttosto che un'istruzione break
è che il nostro codice continuerà nonostante l'interruzione quando la variabile number
viene valutata come equivalente a 5. Rivediamo il nostro output:
OutputNumber is 0
Number is 1
Number is 2
Number is 3
Number is 4
Number is 6
Number is 7
Number is 8
Number is 9
Out of loop
Qui, Number is 5
non compare mai nell'output, ma il ciclo continua dopo quel punto per stampare le righe per i numeri 6–10 prima di uscire dal ciclo.
Puoi utilizzare l'istruzione continue
per evitare codice condizionale profondamente annidato o per ottimizzare un ciclo eliminando i casi frequenti che vorresti rifiutare.
L'istruzione continue
fa sì che un programma salti alcuni fattori che emergono all'interno di un ciclo, ma poi continui attraverso il resto del ciclo.
Dichiarazione di passaggio
Quando viene attivata una condizione esterna, l'istruzione pass
consente di gestire la condizione senza che il ciclo venga influenzato in alcun modo; tutto il codice continuerà ad essere letto a meno che non si verifichi un break
o un'altra istruzione.
Come con le altre istruzioni, l'istruzione pass
sarà all'interno del blocco di codice sotto l'istruzione loop, tipicamente dopo un'istruzione condizionale if
.
Utilizzando lo stesso blocco di codice di cui sopra, sostituiamo l'istruzione break
o continue
con un'istruzione pass
:
number = 0
for number in range(10):
if number == 5:
pass # pass here
print('Number is ' + str(number))
print('Out of loop')
L'istruzione pass
che si verifica dopo l'istruzione condizionale if
sta dicendo al programma di continuare a eseguire il ciclo e di ignorare il fatto che la variabile number
valuta come equivalente a 5 durante una delle sue iterazioni.
Eseguiremo il programma e considereremo l'output:
OutputNumber is 0
Number is 1
Number is 2
Number is 3
Number is 4
Number is 5
Number is 6
Number is 7
Number is 8
Number is 9
Out of loop
Usando l'istruzione pass
in questo programma, notiamo che il programma viene eseguito esattamente come se non ci fosse alcuna istruzione condizionale nel programma. L'istruzione pass
dice al programma di ignorare quella condizione e continuare a eseguire il programma come al solito.
L'istruzione pass
può creare classi minime o fungere da segnaposto quando si lavora su nuovo codice e si pensa a livello algoritmico prima di definire i dettagli.
Conclusione
Le istruzioni break
, continue
e pass
in Python ti permetteranno di usare i cicli for
e while
si ripete in modo più efficace nel tuo codice.
Per lavorare di più con le istruzioni break
e pass
, puoi seguire il nostro tutorial del progetto \How To Create a Twitterbot with Python 3 and the Tweepy Library.