Fonctions#

Une fonction regroupe des instructions sous un nom. On peut ensuite l’appeler chaque fois qu’on en a besoin, sans recopier tout le programme.

Cette page montre comment définir une fonction, lui transmettre des données et récupérer le résultat d’un calcul.

Dès la seconde

Une première fonction#

Exemple
Première fonction
Prêt
Sortie

Dans def bonjour():, le mot def annonce la définition d’une fonction et le symbole : ouvre un bloc d’instructions. Les lignes du bloc sont décalées vers la droite : cette indentation est indispensable en Python.

La ligne bonjour() appelle la fonction. Un deuxième appel permet d’observer précisément ce qui se répète.

Une indentation à corriger#

Le programme suivant contient une erreur classique. Il faut d’abord l’exécuter, puis lire le message avant de modifier le code.

À corriger
Retrouver l’indentation manquante
Erreur attendue
Sortie

Comment chercher ?

Le message contient IndentationError et désigne la ligne 2. Après une ligne terminée par :, Python attend un bloc décalé vers la droite. Il faut donc repérer quelles instructions appartiennent à la fonction.

Transmettre une information#

Une fonction peut recevoir une donnée. Dans l’exemple suivant, prenom est un paramètre ; dans l’appel bonjour("Alice"), "Alice" est l’argument transmis à ce paramètre.

Exemple
Une fonction avec un paramètre
Prêt
Sortie

Les prénoms peuvent être modifiés avant d’ajouter un troisième appel.

Renvoyer le résultat d’un calcul#

Le mot-clé return renvoie une valeur à l’endroit où la fonction a été appelée.

argument4→fonctioncarre(x)→valeur renvoyée16

Une valeur entre dans la fonction ; le résultat produit par return peut ensuite être réutilisé.

Exemple
Carré d’un nombre
Prêt
Sortie

Avant d’ajouter l’appel carre(-4), quel résultat faut-il prévoir ?

Une fonction peut utiliser plusieurs paramètres.

Exemple
Deux paramètres
Prêt
Sortie

L’interversion de a et b change-t-elle le résultat ? La même expérience avec une soustraction permet de mieux voir le rôle de l’ordre des arguments.

Afficher ou renvoyer un résultat#

Ces deux instructions ne jouent pas le même rôle :

  • print affiche une information à l’écran ;

  • return produit une valeur que le reste du programme peut conserver ou réutiliser ;

  • dès qu’un return est exécuté, la fonction s’arrête.

Exemple
Deux fonctions qui se ressemblent
Prêt
Sortie

L’affichage est identique, mais le comportement ne l’est pas. La différence apparaît quand on veut réutiliser le résultat.

Exemple
Réutiliser une valeur renvoyée
Prêt
Sortie

Avec une fonction qui se contente de print, ces calculs ne seraient pas possibles directement.

Des fonctions mathématiques#

Une fonction Python peut traduire très directement une expression mathématique. Pour la fonction \(f\) définie par \(f(x)=2x+3\) :

Exemple
Fonction affine
Prêt
Sortie

À tester : modifier l’expression de la fonction, puis vérifier à la main les images de deux valeurs.

Exemple
Fonction polynôme
Prêt
Sortie

Pourquoi les deux derniers résultats sont-ils égaux ? La réponse vient ici de l’expression mathématique, pas de Python.

Exercices#

Exercice 1

Créer une fonction double(x) qui renvoie le double de x.

À toi
Fonction double
À faire
Sortie

Exercice 2

Créer une fonction aire_rectangle(longueur, largeur) qui renvoie l’aire d’un rectangle.

À toi
Aire d’un rectangle
À faire
Sortie

Exercice 3

Créer une fonction moyenne(a, b) qui renvoie la moyenne de deux nombres.

À toi
Moyenne de deux nombres
À faire
Sortie

Exercice 4

Créer une fonction bonjour(prenom) qui affiche un message de bienvenue contenant le prénom reçu.

À toi
Message de bienvenue
À faire
Sortie

Avant de continuer#

Avant de poursuivre, il faut savoir repérer la définition et l’appel d’une fonction, puis expliquer pourquoi return est nécessaire lorsqu’un résultat doit participer à un autre calcul.

Dans le parcours