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