Une décision, en forme d'anglais
if est le premier outil que la plupart des programmes utilisent. Il laisse ton code prendre un chemin quand une condition est vraie et un chemin différent quand elle ne l'est pas. Python l'exprime directement :
Deux lignes, une décision. La ligne if se termine par un deux-points. La ligne indentée en dessous est le corps du if — le code qui s'exécute si la condition est vraie. Si hour valait 15, le corps serait entièrement sauté et rien ne s'afficherait.
L'indentation est la structure ici. Python sait quelles lignes appartiennent au if en regardant leurs espaces en début de ligne. Quatre espaces par niveau est la convention ; sois cohérent.
Ajouter une branche else
Souvent tu veux que quelque chose se passe dans les deux cas : ceci quand la condition est vraie, cela sinon. else sert à ça :
La ligne else n'a pas de condition — elle attrape tout ce que le if n'a pas attrapé.
Plusieurs branches avec elif
Pour plus de deux chemins, empile des clauses elif (« else if ») entre if et else :
Python parcourt les conditions de haut en bas et exécute le bloc pour la première qui est vraie. Les autres sont sautées. Cet ordre de haut en bas compte : si tu mets score >= 60 avant score >= 90, tout le monde a un D — la première condition vraie gagne.
Une structure soignée à garder en tête : les conditions devraient être mutuellement exclusives pour une entrée donnée, et l'ordre devrait refléter comment tu penses naturellement au problème. Mets les cas les plus spécifiques en premier, les plus généraux à la fin.
Les valeurs truthy dans les conditions
L'expression dans if n'a pas besoin de s'évaluer à un True ou False littéral. Python accepte n'importe quelle valeur et décide de sa truthiness :
if items: se lit « si la liste contient quelque chose ». Les valeurs falsy incluent :
False0,0.0None- Les conteneurs vides :
"",[],{},set(),()
Tout le reste est truthy. Utiliser la truthiness rend le code plus naturel à lire, avec une réserve : si zéro est une valeur significative (un compteur qui est légitimement à zéro), compare explicitement avec is not None ou != 0 pour éviter la confusion « vide = zéro ».
Combiner des conditions
and, or et not te permettent de construire des conditions composées :
Les comparaisons enchaînées sont plus propres qu'un and explicite quand les extrémités partagent une valeur centrale :
C'est pareil que 18 <= age and age < 65, mais ça se lit comme une inégalité mathématique.
Instructions if imbriquées
Tu peux mettre un if dans un if. C'est légal, et parfois c'est la structure la plus claire — mais c'est aussi la principale façon dont le code conditionnel devient difficile à suivre. Si tu te retrouves à trois niveaux de profondeur, envisage d'aplatir avec des retours anticipés (une fois que tu écris des fonctions) ou en combinant des conditions :
Les deux marchent. Choisis la version qui se lit le mieux pour un lecteur qui n'a jamais vu ce code.
L'expression ternaire
Quand tu veux juste qu'une valeur soit l'une de deux choses selon une condition, Python a une forme compacte :
Lis ça de gauche à droite : « warm si temp est au moins 70, sinon cool ». C'est parfait pour de courtes affectations soit/soit. Arrête de l'utiliser dès que les branches s'allongent ou contiennent plusieurs opérations — à ce moment-là, un bloc if/else complet est plus facile à lire.
if est une expression dans un seul cas
Contrairement à certains langages, l'instruction if de Python elle-même ne produit pas de valeur. Seule la forme ternaire le fait. Tu ne peux pas écrire x = if ...: comme tu peux en Rust ou Kotlin. Si tu veux une valeur conditionnelle, utilise le ternaire ; si tu veux un comportement conditionnel, utilise un bloc if complet.
Un petit exemple complet
Un programme rapide qui classe une température :
Remarque que la logique, c'est surtout décider ce que devrait être advice. Tu peux voir en un coup d'œil quelle plage de température correspond à quel message. C'est la forme que tu vises quand tu écris des conditions — chaque branche devrait être petite et l'intention globale évidente.
La suite
Les conditions laissent ton code choisir un chemin. Les boucles le laissent répéter. Ensuite : les boucles for, la boucle la plus courante en Python de loin, et le partenaire naturel des collections que tu rencontreras quelques pages plus loin.
Questions fréquentes
Comment fonctionne une instruction if en Python ?
if condition: suivi d'un bloc indenté n'exécute le bloc que quand la condition est vraie. Des clauses elif (else if) optionnelles te permettent de vérifier des conditions supplémentaires, et un else optionnel s'exécute quand rien d'autre n'a correspondu.
Python a-t-il une instruction switch ?
Python 3.10 a ajouté match/case pour le filtrage par motif structurel, qui couvre la plupart des cas d'usage du switch et plus. Pour un branchement simple, une suite de if/elif reste courante et parfaitement acceptable.
Qu'est-ce qu'un if ternaire en Python ?
Une expression conditionnelle sur une ligne : result = a if condition else b. Ça se lit de gauche à droite — évaluer a quand condition est vraie, sinon évaluer b. Pratique pour de courtes affectations soit/soit ; moins lisible dès que les branches s'allongent.