Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Fiche cours / exercices à imprimer – Diaporama
Règles pour les indentations
Les indentations sont très importantes en Python et il faut bien comprendre comment elles fonctionnent.
Les structures intervenant dans les programmes se présentent comme des blocs avec un début et une fin.
Certains langages font le choix d'écrire begin et end ou encore { et }. Pas Python.
Règle 1 : ouverture de bloc
Toutes les mots-clés du langage donnant lieu à une ouverture de bloc ont une ligne se terminant par :.
for, while, if, else, elif.
Donc ceci est faux car en ligne 1 il manque : en fin de ligne.
if x > 3
x = 2*x
Règle 2 : première ligne après :
L'indentation augmente forcément à la ligne après :
Pour un code plus propre, on s'impose une augmentation de 4 espaces.
Les lignes vides sont ignorées. Quand je dis “la première ligne après”, comprenez première ligne non vide. D'ailleurs, une ligne terminant par : ne peut pas être la dernière du programme.
i = 0
j = 0
while i < 10:
i += 1
if i // 2 == 0:
j += i
Ci-dessus, la ligne 3 termine par :, donc l'indentation augmente à la ligne d'après. La ligne 5 est déjà indentée. Comme elle termine par :, l'indentation augmente à la ligne d'après.
Règle 3 : abaissement de l'indentation
Quand l'indentation se réduit, elle redescend forcément à un niveau antérieur.
Par exemple ce code est faux car la ligne 7 a une indentation réduite par rapport à la ligne 6 mais l'indentation de la ligne 7 n'a jamais été rencontrée avant. Pour que l'indentation de la ligne 7 soit valable il faudrait qu'elle soit de :
- 0 espaces comme pour les lignes 1, 2 et 3
- 4 espaces comme pour les lignes 4 et 5
- 8 espaces comme pour la ligne 6
i = 0
j = 0
while i < 10:
i += 1
if i // 2 == 0:
j += i
print(j)
Règle 4 : fermeture de bloc
Une structure se ferme quand l'indentation s'abaisse, ou à la fin du programme.
Une ligne dont l'indentation est abaissée referme tous les blocs encore ouverts et dont l'indentation est supérieure.
Voyons cela sur deux exemples.
i = 0
j = 0
while i < 10:
i += 1
if i // 2 == 0:
j += i
print(j)
ligne 7, indentation de 4 espaces. On referme le bloc ouvert par le if en ligne 5.
Le while ouvert en ligne 3 reste ouvert.
i = 0
j = 0
while i < 10:
i += 1
if i // 2 == 0:
j += i
print(j)
ligne 7, indentation de 0 espaces. On referme le bloc ouvert par le if en ligne 5 et aussi le while ouvert en ligne 3.
Règle 5 : changement d'indentation
L'indentation ne change que dans les cas mentionnés avant :
- Soit elle augmente après
:(règle 2) - Soit quand elle baisse en revenant à une valeur antérieure (règle 3)
