introduction
L'utilisation defor loops etwhile loops en Python vous permet d'automatiser et de répéter des tâches de manière efficace.
Mais parfois, un facteur externe peut influencer le fonctionnement de votre programme. Lorsque cela se produit, vous pouvez souhaiter que votre programme quitte complètement une boucle, ignore une partie de la boucle avant de continuer ou ignore ce facteur externe. Vous pouvez effectuer ces actions avec les instructionsbreak
,continue
etpass
.
Déclaration de pause
En Python, l'instructionbreak
vous offre la possibilité de sortir d'une boucle lorsqu'une condition externe est déclenchée. Vous placerez l'instructionbreak
dans le bloc de code sous votre instruction de boucle, généralement après une instruction conditionnelleif
.
Regardons un exemple qui utilise l'instructionbreak
dans une bouclefor
:
number = 0
for number in range(10):
if number == 5:
break # break here
print('Number is ' + str(number))
print('Out of loop')
Dans ce petit programme, la variablenumber
est initialisée à 0. Ensuite, une instructionfor
construit la boucle tant que la variablenumber
est inférieure à 10.
Dans la bouclefor
, il y a une instructionif
qui présente la condition queif la variablenumber
est équivalente à l'entier 5,then la boucle sera Pause.
Dans la boucle se trouve également une instructionprint()
qui s'exécutera à chaque itération de la bouclefor
jusqu'à ce que la boucle se brise, car elle se trouve après l'instructionbreak
.
Pour savoir quand nous sommes hors de la boucle, nous avons inclus une instructionprint()
finale en dehors de la bouclefor
.
Lorsque nous exécutons ce code, notre sortie sera la suivante:
OutputNumber is 0
Number is 1
Number is 2
Number is 3
Number is 4
Out of loop
Cela montre qu'une fois que l'entiernumber
est évalué comme équivalent à 5, la boucle se rompt, comme on dit au programme de le faire avec l'instructionbreak
.
L'instructionbreak
fait sortir un programme d'une boucle.
Déclaration continue
L'instructioncontinue
vous donne la possibilité d'ignorer la partie d'une boucle où une condition externe est déclenchée, mais de continuer pour terminer le reste de la boucle. Autrement dit, l'itération actuelle de la boucle sera interrompue, mais le programme reviendra au début de la boucle.
L'instructioncontinue
sera dans le bloc de code sous l'instruction de boucle, généralement après une instruction conditionnelleif
.
En utilisant le même programme de bouclefor
que dans la sectionBreak Statement ci-dessus, nous utiliserons une instructioncontinue
plutôt qu'une instructionbreak
:
number = 0
for number in range(10):
if number == 5:
continue # continue here
print('Number is ' + str(number))
print('Out of loop')
La différence en utilisant l'instructioncontinue
plutôt qu'une instructionbreak
est que notre code continuera malgré l'interruption lorsque la variablenumber
est évaluée comme équivalente à 5. Regardons notre sortie:
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
Ici,Number is 5
n'apparaît jamais dans la sortie, mais la boucle continue après ce point pour imprimer les lignes pour les nombres 6-10 avant de quitter la boucle.
Vous pouvez utiliser l'instructioncontinue
pour éviter le code conditionnel profondément imbriqué, ou pour optimiser une boucle en éliminant les cas fréquents que vous souhaitez rejeter.
L'instructioncontinue
oblige un programme à ignorer certains facteurs qui apparaissent dans une boucle, mais continue ensuite à travers le reste de la boucle.
Déclaration de passage
Lorsqu'une condition externe est déclenchée, l'instructionpass
vous permet de gérer la condition sans que la boucle ne soit affectée de quelque manière que ce soit; tout le code continuera à être lu à moins qu'une instructionbreak
ou autre ne se produise.
Comme avec les autres instructions, l'instructionpass
sera dans le bloc de code sous l'instruction de boucle, généralement après une instruction conditionnelleif
.
En utilisant le même bloc de code que ci-dessus, remplaçons l'instructionbreak
oucontinue
par une instructionpass
:
number = 0
for number in range(10):
if number == 5:
pass # pass here
print('Number is ' + str(number))
print('Out of loop')
L'instructionpass
survenant après l'instruction conditionnelleif
indique au programme de continuer à exécuter la boucle et ignore le fait que la variablenumber
est évaluée comme équivalente à 5 pendant l'une de ses itérations.
Nous allons exécuter le programme et considérer le résultat:
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
En utilisant l'instructionpass
dans ce programme, nous remarquons que le programme s'exécute exactement comme il le ferait s'il n'y avait pas d'instruction conditionnelle dans le programme. L'instructionpass
indique au programme de ne pas tenir compte de cette condition et de continuer à exécuter le programme comme d'habitude.
L'instructionpass
peut créer des classes minimales ou agir comme un espace réservé lorsque vous travaillez sur un nouveau code et réfléchissez à un niveau algorithmique avant de marteler les détails.
Conclusion
Les instructionsbreak
,continue
etpass
en Python vous permettront d'utiliser plus efficacement les bouclesfor
etwhile
dans votre code.
Pour travailler davantage avec les instructionsbreak
etpass
, vous pouvez suivre notre tutoriel de projet "https://www.digitalocean.com/community/tutorials/how-to-create-a-twitterbot-with- python-3-and-the-tweepy-library [Comment créer un Twitterbot avec Python 3 et la bibliothèque Tweepy]. »