Structures de contrôle#
essentiel
if / elif / else#
Expression conditionnelle (ternaire)#
while#
Clause else sur boucles for / while
Une clause else sur une boucle s'exécute uniquement si la boucle se termine naturellement, c'est-à-dire sans avoir rencontré de break :
Opérateur d'affectation Walrus := (≥ 3.8)#
L'opérateur walrus := permet d'affecter une valeur à une variable tout en l'évaluant dans une expression (très pratique pour éviter les doubles calculs ou les répétitions) :
# Dans une condition :
if (n := len(valeurs)) > 10:
print(f"Liste trop grande ({n} éléments)")
# Dans une boucle de lecture :
while (ligne := fichier.readline()):
print(ligne.strip())
for#
for x in range(5): # 0 1 2 3 4
print(x)
for x in range(2, 10, 2): # 2 4 6 8
...
for i, valeur in enumerate(["a", "b"]): # index + valeur
...
for a, b in zip([1, 2], ["x", "y"]): # parcours parallèle
...
break / continue / pass#
for x in range(10):
if x == 5:
break # sort de la boucle
if x % 2 == 0:
continue # passe à l'itération suivante
pass # ne fait rien (placeholder)
match / case#
Voir Aide-mémoire — Syntaxe.
match point:
case (0, 0):
print("origine")
case (x, 0):
print(f"sur l'axe X à {x}")
case (x, y) if x == y:
print("sur la diagonale")
case _:
print("ailleurs")
Boucles imbriquées et labels#
Python n'a pas de labels de boucle ; utiliser un drapeau ou une fonction avec return pour sortir de boucles imbriquées.