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.
La structure générale :
def nom_de_la_fonction():
instruction1
instruction2
...
instructionN
nom_de_la_fonction() # appel : le bloc s'exécute iciProgramme complet du cours Python (13 chapitres, gratuit)
- 1. Pourquoi programmer ? : Ce qu'est vraiment un programme : des instructions en langage humain, traduites pour un ordinateur qui ne devine rien.
- 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. 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. 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. 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. 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. 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. Les listes : Ranger plusieurs valeurs dans une seule variable : créer une liste, lire un élément, la parcourir, l'agrandir avec append.
- 9. Les dictionnaires : Associer une clé à une valeur : créer un dictionnaire, lire, ajouter, modifier, et le parcourir.
- 10. Écrire ses propres fonctions : Donner un nom à un bloc d'instructions avec def, puis l'appeler autant de fois qu'on veut.
- 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. 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. 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.