Découper son code en fonctions
Définir une fonction avec def
Définir une fonction avec def
En Python, on définit une fonction avec le mot-clé def, suivi du nom de la fonction, de parenthèses, puis de deux-points :
def dire_bonjour():
print("Bonjour !")
Cette fonction s'appelle dire_bonjour. Le code indenté sous la ligne def (ici, la ligne print("Bonjour !")) constitue le corps de la fonction : c'est ce qui s'exécute à chaque appel.
Attention : écrire cette définition n'exécute rien du tout ! Une fonction ne s'exécute que lorsqu'on l'appelle, c'est-à-dire lorsqu'on écrit son nom suivi de parenthèses :
def dire_bonjour():
print("Bonjour !")
dire_bonjour() # (ceci affiche Bonjour ! une premiere fois)
dire_bonjour() # (ceci affiche Bonjour ! une seconde fois)
Tu peux appeler la même fonction autant de fois que tu veux : c'est tout l'intérêt de la réutilisation.
Le nom d'une fonction suit les mêmes règles que celui d'une variable : pas d'espace, pas d'accent, et un nom explicite qui décrit ce que fait la fonction, en général avec un verbe (calculer_..., afficher_..., verifier_...).
Erreur classique : oublier les deux-points : à la fin de la ligne def, ou oublier l'indentation du corps de la fonction. En Python, l'indentation n'est pas une question de style : c'est elle qui indique où commence et où finit le corps de la fonction. Une ligne mal indentée ne fait plus partie de la fonction.

