5.1. Indentation¶
Comme on le verra, les blocs d’instructions définis à l’intérieur des structures de contrôle sont délimités par leur indentation et non par des symboles ou des mots-clés comme dans beaucoup d’autres langages de programmation. Indenter un code consiste à introduire des espaces ou des tabulations en début de ligne. L’indentation est souvent utilisée à des fins esthétiques mais en Python, elle fait partie de la sémantique.
# Code Python
a = 0
while a < 10:
# Début du bloc d'instructions
a += 1
print(a)
# Fin du bloc d'instructions
a = 0
Le code précédent ne produit pas le même résultat que le code suivant.
a = 0
while a < 10:
a += 1
print(a)
a = 0
Dans le premier cas, l’instruction print
est exécuté à chaque itération de la boucle while
tandis que dans le second cas, l’instruction print
n’est exécutée qu’une fois à la sortie de la boucle while
.
Dans le langage C, le premier exemple pourrait être traduit de la manière suivante.
// Code C
int a = 0;
while (a < 10) {
a += 1;
printf("%d", a);
}
a = 0;
On remarque que les blocs d’instructions sont délimités par des accolades. On a indenté le code pour des raisons purement esthétiques. On aurait tout aussi bien pu écrire le code suivant.
// Code C
int a = 0;
while (a < 10) {
a += 1;
printf("%d", a);
}
a = 0;
Mais cette deuxième version est beaucoup moins lisible car on ne distingue plus le bloc d’instructions de la boucle while
. En quelque sorte, le langage Python nous force par nature à adopter un style de code clair.