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