Fonctions en Python

Programmation - 3ème

Fonctions en Python

30 min+20 XPapprentissage

Objectifs

  • Comprendre l'utilité et la structure d'une fonction en Python
  • Savoir définir et appeler une fonction avec ou sans paramètres
  • Être capable d'utiliser une valeur de retour (return)

Introduction

Imaginez que vous devez répéter plusieurs fois les mêmes instructions dans un programme, comme calculer une TVA ou afficher un message de bienvenue. Copier-coller le code ? C'est long, source d'erreurs et difficile à modifier. Aujourd'hui, nous allons découvrir un outil fondamental en programmation qui permet de regrouper des instructions sous un seul nom et de les réutiliser à volonté : les fonctions.

Comment organiser et réutiliser efficacement des blocs d'instructions dans un programme Python ?

Pourquoi utiliser des fonctions ? Définition et appel

Une fonction est un bloc de code nommé, conçu pour accomplir une tâche spécifique. On peut la voir comme une petite machine à laquelle on donne éventuellement quelque chose (des données en entrée), qui effectue un traitement, et qui peut nous rendre un résultat. L'intérêt principal est la réutilisation : une fois définie, on peut 'appeler' la fonction (l'utiliser) autant de fois qu'on le souhaite, sans avoir à réécrire son code. Cela rend le programme plus clair, plus court et plus facile à corriger ou à modifier. Pour définir une fonction, on utilise le mot-clé `def`, suivi du nom de la fonction (sans espaces, commençant par une lettre), de parenthèses `()` et d'un deux-points `:`. Le code de la fonction (son 'corps') est indenté (décalé vers la droite). Pour l'utiliser, il suffit d'écrire son nom suivi de parenthèses. Exemple concret : Vous créez un jeu où le personnage saute souvent. Au lieu d'écrire à chaque fois les 5 lignes de code pour gérer le saut (vérifier la touche, modifier la position, jouer un son, etc.), vous les mettez dans une fonction `sauter()`. Ensuite, un simple `sauter()` dans votre programme déclenchera toute l'action.

Points clés

  • Une fonction est un bloc de code réutilisable nommé.
  • La définition commence par `def nom_fonction():`.
  • Le code de la fonction est indenté.
  • L'appel se fait avec `nom_fonction()`.

Personnaliser l'action : les paramètres et les arguments

Pour rendre une fonction plus flexible et puissante, on peut lui donner des informations spécifiques à chaque appel. Ces informations sont appelées des arguments. Lors de la définition de la fonction, on déclare des paramètres à l'intérieur des parenthèses. Les paramètres sont comme des variables locales qui attendent d'être remplies par les arguments fournis lors de l'appel. Par exemple, une fonction `bonjour(prenom)` a un paramètre `prenom`. Quand on l'appelle avec `bonjour('Léa')`, l'argument `'Léa'` est assigné au paramètre `prenom` à l'intérieur de la fonction. On peut avoir plusieurs paramètres, séparés par des virgules. L'ordre des arguments lors de l'appel doit correspondre à l'ordre des paramètres. On peut aussi donner des valeurs par défaut aux paramètres (ex: `def bonjour(prenom='collègue'):`). Si aucun argument n'est fourni pour ce paramètre, la valeur par défaut est utilisée. Cela permet d'avoir des fonctions qui peuvent s'adapter à différents contextes : une fonction `calculer_aire(longueur, largeur)` peut calculer l'aire de n'importe quel rectangle, pas juste d'un rectangle particulier.

Points clés

  • Les paramètres sont les variables dans la définition de la fonction.
  • Les arguments sont les valeurs données lors de l'appel.
  • L'ordre des arguments est important.
  • On peut définir des valeurs par défaut pour les paramètres.

Récupérer un résultat : l'instruction return

Une fonction peut effectuer des calculs ou des traitements, mais souvent, on a besoin de récupérer le résultat pour l'utiliser ailleurs dans le programme. C'est le rôle de l'instruction `return`. Quand Python rencontre `return` dans une fonction, il arrête l'exécution de la fonction et renvoie (retourne) la valeur qui suit le `return` à l'endroit où la fonction a été appelée. Cette valeur peut alors être stockée dans une variable, utilisée dans un calcul ou affichée. Une fonction sans `return` renvoie une valeur spéciale appelée `None` (qui signifie 'rien'). Exemple concret : Une fonction `calculer_prix_ttc(prix_ht)` qui reçoit un prix hors taxes, calcule le prix TTC (prix_ht * 1.2) et utilise `return prix_ht * 1.2` pour renvoyer ce résultat. Lors de l'appel, on peut écrire `mon_prix = calculer_prix_ttc(100)` pour stocker la valeur 120 dans la variable `mon_prix`. L'instruction `return` est cruciale pour séparer clairement le traitement (fait par la fonction) de l'utilisation du résultat (fait par le programme principal).

Points clés

  • `return` permet de renvoyer une valeur depuis la fonction.
  • L'exécution de la fonction s'arrête à `return`.
  • La valeur retournée peut être affectée à une variable.
  • Sans `return`, une fonction renvoie `None`.

Applications pratiques

Mettons en pratique avec deux exemples progressifs. 1) Fonction simple sans retour : Créons une fonction `afficher_regles()` qui imprime trois lignes de règles pour un jeu. On la définit une fois, et on l'appelle au début du programme. 2) Fonction avec paramètres et retour : Créons une fonction `calculer_energie_cinetique(masse, vitesse)`. Elle utilise la formule physique E = 1/2 * masse * vitesse². Les paramètres sont `masse` (en kg) et `vitesse` (en m/s). À l'intérieur, elle calcule l'énergie cinétique et la renvoie avec `return`. Dans le programme principal, on appelle `energie = calculer_energie_cinetique(10, 5)` pour calculer l'énergie d'un objet de 10 kg allant à 5 m/s. La valeur 125 (joules) est stockée dans `energie`. On peut ensuite l'afficher ou l'utiliser dans d'autres calculs. 3) Défi : Essayez d'écrire une fonction `est_majeur(age)` qui prend un âge en paramètre et qui RETOURNE (n'affiche pas) `True` si l'âge est >= 18, et `False` sinon.

Points clés

  • Exemple 1 : Fonction pour afficher des informations fixes.
  • Exemple 2 : Fonction de calcul avec paramètres et return.
  • Défi : Fonction retournant un booléen (True/False).

À retenir

Les fonctions sont des blocs de code nommés et réutilisables qui permettent d'organiser et de simplifier un programme. On les définit avec `def`, on peut leur passer des informations via des paramètres, et elles peuvent nous renvoyer un résultat grâce à l'instruction `return`. Utiliser des fonctions est une pratique essentielle pour écrire un code clair, modulaire et efficace.

  • Une fonction se définit avec `def nom(parametres):` et son code est indenté.
  • Les paramètres rendent la fonction adaptable, les arguments sont les valeurs qu'on lui donne.
  • L'instruction `return` est nécessaire pour récupérer un résultat de la fonction.
  • Utiliser des fonctions rend le code plus lisible, réutilisable et facile à déboguer.
EdTech AI