Structuration du code
Bloc et indentation
Les fonctions et les structures de contrôle introduisent l’idée de « bloc d’instructions ».
Elles prennent toutes la même forme:
MotClef ... :
code
code
code
Le “:
” est à chaque fois suivi d’une indentation.
C’est l’indentation qui signifie à l’interpréteur où commence et finit le bloc.
En Python, l’indentation est signifiante:
chaque ligne d’un bloc doit avoir la même indentation
on ne doit pas mélanger espaces et tabulations !
Saut de ligne
Une ligne correspond à une instruction. Il n’y a pas de symbole signifiant la fin d’une « ligne d’instruction ». (eg “;
” en C)
Mais parfois une ligne est trop courte pour une instruction. La solution est alors d’utiliser “()
”, “[]
” ou “{}
” sur plusieurs lignes.
[1]:
# une liste sur plusieurs lignes
l = [
1,
2,
3,
4, # la dernière virgule est autorisée et ne change rien
]
l
[1]:
[1, 2, 3, 4]
[2]:
# un dictionnaire sur plusieurs lignes
d = {
'un': 1,
'deux': 2,
'trois': 3,
'quatre': 4
}
d
[2]:
{'un': 1, 'deux': 2, 'trois': 3, 'quatre': 4}
[3]:
# fermer une parenthèse de fonction sur une autre ligne
nom_de_fonction_vraiment_trop_long_pour_tout_ecrire_sur_une_ligne = max
result = nom_de_fonction_vraiment_trop_long_pour_tout_ecrire_sur_une_ligne(
1, 2, 3, 4
)
result
[3]:
4
[4]:
# un calcul trop long
a = 1.
b = 2.
c = 3.
d = 4.
result = (a + (b ** 3) * 2) / (((c + d) * (a + b)) + ((a + b + c + d) * (a + b + c) * (a + b) * a))
result
[4]:
0.0845771144278607
[5]:
# c'est l'occasion de structurer un peu tout ça (si possible...)
a = 1.
b = 2.
c = 3.
d = 4.
result = (
(a + (b ** 3) * 2)
/
(
(c + d) * (a + b)
+
(a + b + c + d) * (a + b + c) * (a + b) * a
)
)
result
[5]:
0.0845771144278607
PS : il existe un jeu de caractères pour indiquer la continuation de ligne, mais je n’en parlerai pas.