Aller au contenu
Écrire ses propres fonctionsChapitre 10/13

Donner un nom à une tâche

Au chapitre 2, tu as vu que print(), input() ou len() sont des fonctions : des blocs d'instructions déjà écrits par l'équipe de Python, auxquels on a donné un nom. Toi, tu n'as qu'à écrire ce nom suivi de parenthèses pour les utiliser.

Dans ce chapitre, on ferme la boucle : c'est toi qui écris des fonctions. Imagine un programme qui affiche le même menu à trois endroits différents. Sans fonction, tu copies-colles les trois print() trois fois. Avec une fonction, tu écris le bloc une seule fois, tu lui donnes un nom, et tu l'appelles trois fois.

Sans fonction (copier-coller)Avec une fonction
print("1. Pizza")def afficher_menu():
print("2. Salade") print("1. Pizza")
... print("2. Salade")
print("1. Pizza")
print("2. Salade")afficher_menu()
...afficher_menu()

Une fonction se crée avec le mot-clé def (pour « définir »), suivi du nom de la fonction, de parenthèses et de deux-points. Les instructions de la fonction sont indentées, comme le corps d'un if ou d'une boucle :

def dire_bonjour():
    print("Bonjour !")
    print("Bienvenue dans mon programme.")

dire_bonjour()
  • Définir la fonction : def dire_bonjour(): puis le bloc indenté. C'est la recette.
  • Appeler la fonction : dire_bonjour(). C'est le moment où la recette est exécutée.
AstuceSi tu te surprends à copier-coller le même bloc d'instructions, c'est le signe qu'il mérite un nom : une fonction.

La structure générale :

def nom_de_la_fonction():
    instruction1
    instruction2
    ...
    instructionN

nom_de_la_fonction()   # appel : le bloc s'exécute ici
DéfinitionUne fonction
Programme complet du cours Python (13 chapitres, gratuit)
  1. 1. Pourquoi programmer ? : Ce qu'est vraiment un programme : des instructions en langage humain, traduites pour un ordinateur qui ne devine rien.
  2. 2. Python : ses mots-clés et ses fonctions : La courte liste des mots que Python connaît, le concept de fonction avec print() et input(), et un programme lu comme une simple traduction du français.
  3. 3. Séquentialité : une étape après l'autre : Python lit ligne par ligne, et à l'intérieur d'une ligne, opération par opération : l'ordre est tout sauf un détail.
  4. 4. Variables et types de données : Mémoriser une valeur avec =, et pourquoi chaque valeur a un type : int, float, str, bool, et comment passer de l'un à l'autre.
  5. 5. Les opérations : qui prend quoi, et donne quoi : Chaque opérateur prend deux valeurs d'un certain type et en produit une d'un certain type : arithmétique, comparaison, logique, et les opérations sur les chaînes.
  6. 6. Conditions : if, else, elif : Exécuter un bloc seulement si le résultat après if vaut True, d'où qu'il vienne ; puis sinon, et sinon si.
  7. 7. Boucles : for et while : Répéter sans recopier : for pour parcourir une collection ou compter avec range, while tant qu'une condition est vraie, et comment choisir.
  8. 8. Les listes : Ranger plusieurs valeurs dans une seule variable : créer une liste, lire un élément, la parcourir, l'agrandir avec append.
  9. 9. Les dictionnaires : Associer une clé à une valeur : créer un dictionnaire, lire, ajouter, modifier, et le parcourir.
  10. 10. Écrire ses propres fonctions : Donner un nom à un bloc d'instructions avec def, puis l'appeler autant de fois qu'on veut.
  11. 11. Fonctions avec paramètres : Donner des informations à une fonction au moment de l'appel : un paramètre, puis plusieurs, et ce qui se passe à l'intérieur.
  12. 12. Fonctions qui renvoient une valeur : La différence entre afficher et renvoyer : return donne un résultat qu'on peut stocker, comparer, réutiliser.
  13. 13. La totale : tout combiner : Des programmes complets qui mélangent variables, opérations, conditions, boucles, listes, dictionnaires et fonctions, dont le retour de la liste d'appel.