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#
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.
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.
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.
carre(x)→valeur renvoyée16
Une valeur entre dans la fonction ; le résultat produit par return peut ensuite être réutilisé.
Avant d’ajouter l’appel carre(-4), quel résultat faut-il prévoir ?
Une fonction peut utiliser plusieurs paramètres.
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 :
printaffiche une information à l’écran ;returnproduit une valeur que le reste du programme peut conserver ou réutiliser ;dès qu’un
returnest exécuté, la fonction s’arrête.
L’affichage est identique, mais le comportement ne l’est pas. La différence apparaît quand on veut réutiliser le résultat.
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\) :
À tester : modifier l’expression de la fonction, puis vérifier à la main les images de deux valeurs.
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.
Exercice 2
Créer une fonction aire_rectangle(longueur, largeur) qui renvoie l’aire d’un rectangle.
Exercice 3
Créer une fonction moyenne(a, b) qui renvoie la moyenne de deux nombres.
Exercice 4
Créer une fonction bonjour(prenom) qui affiche un message de bienvenue contenant le prénom reçu.
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