Tutorial

Comment utiliser les instructions Break, Continue et Pass pour travailler avec des boucles en Python 3

PythonDevelopment

Introduction

En utilisant les for loops et les while loops en Python, vous pouvez automatiser et répéter efficacement des tâches.

Cependant, il arrive parfois qu'un facteur externe vienne influencer la façon dont votre programme fonctionne. Le cas échéant, vous voudrez éventuellement que votre programme quitte complètement une boucle, saute une partie d'une boucle avant de continuer, ou ignorer ce facteur externe. Pour cela, vous pouvez utiliser les instructions break, continue et pass.

Instruction Break

Sous Python, l'instruction break vous donne la possibilité de quitter une boucle au moment où une condition externe est déclenchée. Vous intégrerez l'instruction break dans le bloc du code qui se trouve en dessous de votre instruction de boucle, généralement après une instruction conditionnelle if.

Examinons d'un peu plus près un exemple qui utilise l'instruction break dans une boucle for :

number = 0

for number in range(10):
    if number == 5:
        break    # break here

    print('Number is ' + str(number))

print('Out of loop')

Dans ce court programme, le number de variables est initialisé à 0. Ensuite, une instruction for créé la boucle à condition que le number de variables soit inférieur à 10.

Dans la boucle for se trouve une instruction if qui présente la condition suivante : if le number de variables est équivalent à l'entier 5, then la boucle se brisera.

Dans la boucle se trouve également une instruction print() qui s'exécutera avec chaque itération de la boucle for jusqu'à ce que la boucle se brise, étant donné qu'elle se trouve après l'instruction break.

Pour savoir de quelle manière nous sommes en-dehors de la boucle, nous avons inclus une dernière instruction print() en dehors de la boucle for.

Une fois que nous exécutons ce code, nous obtenons la sortie suivante :

Output
Number is 0 Number is 1 Number is 2 Number is 3 Number is 4 Out of loop

Cela montre qu'une fois le nombre entier évalué comme équivalent à 5, la boucle se brise, car le programme est instruit de le faire avec l'instruction break.

L'instruction break provoque la rupture d'une boucle d'un programme.

Instruction Continue

L'instruction continue vous donne la possibilité de passer la partie d'une boucle où une condition externe est déclenchée mais de tout de même passer à l'exécution du reste de la boucle. C'est-à-dire que l'itération actuelle de la boucle sera interrompue, mais le programme reviendra au haut 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 Instruction Break, nous utiliserons une instruction continue plutôt qu’une instruction break :

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 entre le fait d'utiliser l'instruction continue plutôt qu'une instruction break est que notre code se poursuivra malgré la perturbation lorsque le number de variables sera évalué comme équivalent à 5. Examinons le résultat que nous obtenons :

Output
Number 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 pour imprimer des lignes des numéros 6 à10 avant de quitter la boucle.

Vous pouvez utiliser l'instruction continue pour éviter un code conditionnel profondément imbriqué ou optimiser une boucle en supprimant les cas fréquemment répétés que vous souhaitez rejeter.

L'instruction continue pousse un programme à sauter certains facteurs qui se trouvent dans une boucle, puis à continuer le reste de la boucle.

Instruction Pass

Au déclenchement d'une condition externe, l'instruction pass vous permet de gérer la condition sans toucher à la boucle. La lecture de l'intégralité du code continuera, à moins qu'un break ou une autre instruction ne se produise.

Comme pour les autres instructions, l'instruction pass se trouvera dans le bloc de code en dessous de l'instruction de la boucle, généralement après une instruction conditionnelle if.

En utilisant le même bloc de code que celui ci-dessus, remplaçons l'instruction break ou continue par une instruction pass :

number = 0

for number in range(10):
    if number == 5:
        pass    # pass here

    print('Number is ' + str(number))

print('Out of loop')

L'instruction pass qui se produit après l'instruction conditionnelle if indique au programme de continuer à exécuter la boucle et d'ignorer le fait que le number de variables est évalué comme étant équivalent à 5 pendant l'une de ses itérations.

Nous allons exécuter le programme et examiner le résultat :

Output
Number 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'instruction pass de ce programme, nous remarquons que le programme fonctionne exactement comme s'il n'y avait pas d'instruction conditionnelle. L'instruction pass indique au programme de ne pas tenir compte de cette condition et de continuer à exécuter le programme normalement.

L'instruction pass peut créer des classes minimales, ou agir comme un espace réservé lorsqu'on travaille sur un nouveau code et l'on pense à un niveau algorithmique avant de mettre en place des détails.

Conclusion

Sous Python, les instructions break, continue et pass vous permettront d'utiliser des boucles for et des boucles while plus efficacement dans votre code.

Pour vous exercer à travailler 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. »

Creative Commons License