Introduction
L’utilisation de boucles for et de boucles while 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 la façon dont votre programme s’exécute. Lorsque cela se produit, vous pouvez vouloir que votre programme sorte complètement d’une boucle, saute une partie d’une boucle avant de continuer, ou ignore ce facteur externe. Vous pouvez effectuer ces actions avec les instructions break
continue
et pass
.
Enoncé break
En Python, l’énoncé break
vous offre la possibilité de sortir d’une boucle lorsqu’une condition externe est déclenchée. Vous placerez l’instruction break
dans le bloc de code situé sous votre instruction de boucle, généralement après une instruction conditionnelle if
.
Regardons un exemple qui utilise l’instruction break
dans une boucle for
:
number = 0for number in range(10): if number == 5: break # break here print('Number is ' + str(number))print('Out of loop')
Dans ce petit programme, la variable number
est initialisée à 0. Puis une instruction for
construit la boucle tant que la variable number
est inférieure à 10.
A l’intérieur de la boucle for
, il y a une instruction if
qui présente la condition que si la variable number
est équivalente à l’entier 5, alors la boucle s’interrompra.
A l’intérieur de la boucle se trouve également une instruction print()
qui s’exécutera à chaque itération de la boucle for
jusqu’à la rupture de la boucle, puisqu’elle se trouve après l’instruction break
.
Pour savoir quand nous sommes sortis de la boucle, nous avons inclus une déclaration finale print()
en dehors de la boucle for
.
Lorsque nous exécutons ce code, notre sortie sera la suivante :
OutputNumber is 0Number is 1Number is 2Number is 3Number is 4Out of loop
Ceci montre qu’une fois que l’entier number
est évalué comme équivalent à 5, la boucle s’interrompt, car le programme reçoit l’ordre de le faire avec l’instruction break
.
L’instruction break
fait en sorte qu’un programme se sépare d’une boucle.
Introduction continue
L’instruction continue
vous donne la possibilité de sauter 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’instruction continue
se trouvera dans le bloc de code sous l’instruction de boucle, généralement après une instruction conditionnelle if
.
En utilisant le même programme de boucle for
que dans la section Déclaration de rupture ci-dessus, nous utiliserons une déclaration continue
plutôt qu’une déclaration break
:
number = 0for 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’instruction continue
plutôt qu’une break
est que notre code continuera malgré la perturbation lorsque la variable number
est évaluée comme équivalente à 5. Regardons notre sortie :
OutputNumber is 0Number is 1Number is 2Number is 3Number is 4Number is 6Number is 7Number is 8Number is 9Out of loop
Ici, Number is 5
n’apparaît jamais dans la sortie, mais la boucle continue après ce point pour imprimer des lignes pour les nombres 6-10 avant de quitter la boucle.
Vous pouvez utiliser l’instruction continue
pour éviter un code conditionnel profondément imbriqué, ou pour optimiser une boucle en éliminant les cas qui se produisent fréquemment et que vous souhaitez rejeter.
L’instruction continue
amène un programme à sauter certains facteurs qui se présentent dans une boucle, mais à poursuivre ensuite le reste de la boucle.
Etat de passage
Lorsqu’une condition externe est déclenchée, l’état pass
permet de gérer la condition sans que la boucle soit impactée de quelque manière que ce soit ; tout le code continuera à être lu à moins qu’un break
ou un autre état ne survienne.
Comme pour les autres instructions, l’instruction pass
se trouvera dans le bloc de code sous l’instruction de la boucle, typiquement après une instruction conditionnelle if
.
En utilisant le même bloc de code que ci-dessus, remplaçons l’instruction break
ou continue
par une instruction pass
:
number = 0for number in range(10): if number == 5: pass # pass here print('Number is ' + str(number))print('Out of loop')
L’instruction pass
intervenant après l’instruction conditionnelle if
indique au programme de poursuivre l’exécution de la boucle et d’ignorer le fait que la variable number
évalue comme équivalent à 5 lors d’une de ses itérations.
Nous allons exécuter le programme et considérer la sortie :
OutputNumber is 0Number is 1Number is 2Number is 3Number is 4Number is 5Number is 6Number is 7Number is 8Number is 9Out of loop
En utilisant l’instruction pass
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’instruction pass
indique au programme de ne pas tenir compte de cette condition et de continuer à exécuter le programme comme d’habitude.
L’instruction pass
peut créer des classes minimales ou servir de substitut lorsqu’on travaille sur un nouveau code et qu’on pense à un niveau algorithmique avant de marteler les détails.
Conclusion
Les break
continue
, et pass
en Python vous permettront d’utiliser plus efficacement les boucles for
et while
dans votre code.
Pour travailler davantage avec les instructions break
et pass
, vous pouvez suivre notre tutoriel de projet » Comment créer un Twitterbot avec Python 3 et la bibliothèque Tweepy. «