L'instruction for...else en Python

Manav Narula 10 aout 2021
L'instruction for...else en Python

En programmation, nous utilisons des boucles pour itérer sur différents types d’objets. La boucle for est l’une des boucles les plus utilisées en raison de sa simplicité.

Python a une fonctionnalité très intéressante associée à la boucle for. Il nous permet d’utiliser l’instruction else avec la boucle for pour combiner l’exécution de la condition et l’itération. Le mot-clé else est généralement utilisé dans les instructions if-else, où nous l’utilisons pour exécuter certaines commandes lorsque la condition if retourne false.

Cependant, ce n’est pas le cas lorsque l’on travaille avec la boucle for en Python. Les instructions du bloc else sont exécutées sur la base d’une clause d’achèvement lorsque la boucle est terminée, étant donné que la boucle ne rencontre l’instruction break dans aucune de ses itérations. L’instruction break est utilisée pour sortir d’une boucle. Si aucune instruction break n’est rencontrée, les instructions du bloc else sont également exécutées après la boucle.

Si l’instruction continue est rencontrée, l’instruction else est exécutée. C’est parce que l’instruction continue force l’itération suivante. Il ne rompt pas la boucle.

Voir le code suivant.

for i in range(3):
    if i > 5:
        break
else:
    print("Else Statements")

for i in range(3):
    if i > 1:
        print("Break")
        break
else:
    print("Else Statements")

for i in range(3):
    if i > 1:
        continue
else:
    print("Else Statements after Continue")

Production:

Else Statements
Break
Else Statements after Continue

Maintenant, l’utilisation du for...else n’est pas bien reçue par de nombreux programmeurs expérimentés car elle peut prêter à confusion quant à l’utilisation du mot-clé else. Cependant, il a encore quelques applications utiles en Python.

Par exemple, nous pouvons l’utiliser si nous recherchons un élément dans une liste et souhaitons savoir s’il est présent ou non dans la liste. L’extrait de code suivant implémente cela.

a = 15
lst = [10, 5, 6, 8, 9, 7, 5, 11]
for i in lst:
    if i == 15:
        print("Found")
        break
else:
    print("Not Found Loop Over")

Production:

Not Found Loop Over

L’utilisation du mot-clé else n’est pas limitée à la boucle for et peut être utilisée avec la boucle while également en Python.

Auteur: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Article connexe - Python Statement