Instructions conditionnelles Python

Un bloc conditionnel est un bloc de code qui s’exécute si et seulement si l’instruction de contrôle le contenant voit sa condition respectée. Dès lors qu’un des blocs est exécuté, la suite des instructions conditionnelle est terminée.

Rien ne s’oppose à ce qu’un bloc prenne place dans une fonction, dans une méthode, dans un module, voire même dans une classe. Un bloc conditionnel peut prendre place dans une boucle, voire même dans un autre bloc conditionnel.

Instruction if

Le mot-clé if n’exécute des instructions que si une condition est remplie :

Comme déjà dit, il n’y a pas de fioritures en Python. Nous avons déjà vu qu’un bloc ne nécessite pas d’accolades et l’on voit maintenant que l’écriture d’une condition ne nécessite pas de parenthèses. L’instruction if et le bloc qui suit se suffisent à eux-mêmes.

À noter que pass peut être utilisé dans le bloc. Ceci est rare car si une fonction vide ou une classe vide est utile, une boucle conditionnelle vide ne l’est pas :

Le principe de cette instruction est de contenir une partie de code qui ne s’exécute que si la condition est analysée comme vraie.

Instruction elif

L’instruction elif n’est utilisée que si l’ensemble des instructions précédentes ont vu leurs conditions évaluées à False.

Une fois cette condition remplie, la condition liée à cette instruction est évaluée et en cas d’évaluation positive, le bloc correspondant est exécuté.

Pour s’en convaincre, il suffit de tester ce morceau de code :

La première expression n’est pas vraie, le premier bloc est exécuté et la suite d’instructions continue d’être lue. La seconde expression est vraie, le second bloc est exécuté et la suite des instructions conditionnelles de l’algorithme s’arrête alors.

Une instruction elif suit obligatoirement une instruction if et il peut y en avoir autant que nécessaire.

 Instruction else

Pour traiter distinctement le cas où une condition est respectée et celui où elle ne l’est pas, il est possible de le réaliser par deux blocs distincts :

Mais cette écriture est lourde et potentiellement génératrice d’erreurs pour des conditions complexes, en plus d’imposer de les évaluer deux fois.

L’instruction else permet alors de traiter le cas où la première condition n’est pas vraie. Voici un code équivalent à ce qui précède et à la fonction du début :

La solution est plus élégante et plus compréhensible.

Les instructions if et else peuvent traiter tous les cas possibles, mais elif apporte une simplification de l’algorithme. Voici l’algorithme de la section sur l’instruction elif réalisé sans cette instruction :

 

On voit immédiatement l’intérêt de l’instruction elif. Là encore, la troisième condition n’est pas validée.

L’instruction else peut également être utilisée en complément de elif, mais elle est forcément la dernière :

Laisser un commentaire