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.