Section 2.1 Syntaxe : def / return
En algorithmique comme en mathématiques, une fonction peut être vue comme une boîte noire qui renvoie un ou plusieurs résultats en sortie, dépendant des éléments qui lui ont été donnés en entrée.
En Python, les mots-clés qu'on utilise pour définir une fonction sont les suivants.
-
def ... :
annonce le début de la définition. -
return
annonce la chose à renvoyer.
Remarque 2.1.1.
Comme pour les boucles et les conditionnelles, les deux-points :
annoncent une indentation (4 espaces fortement recommandés). Notez aussi que le return
doit faire partie du bloc indenté.
Voici un premier exemple permettant de définir la fonction quadratique
en évaluant la cellule suivante.
Remarque 2.1.2.
Une fonction Python sans return
peut quand même afficher des choses quand on l'appelle, même si elle ne renvoie rien à proprement parler.
Le code ci-dessus affiche
\(\text{7}\) parce que la commande
y = f(5)
fait appel à la fonctionf(x)
et exécute doncprint(x ** 2 - 4 * x + 2)
pour x valant 5;et \(\text{None}\) parce que la fonction
f(x)
ne renvoie rien, donc la variabley
reste vide, de sorte queprint(y)
affiche \(\text{None}\text{.}\)
Codons ensuite la fonction valeur absolue qui peut être définie comme suit :
Nous allons l'appeler valeurAbsolue
, et la tester avec print(valeurAbsolue(5))
et print(valeurAbsolue(-7))
qui doivent afficher respectivement \(\text{5}\) et \(\text{7}\text{.}\)
Next
autant de fois que nécessaire dans l'application Python Tutor si vous voulez suivre pas à pas l'exécution du code qui précède.
Terminons cette section avec la fonction factorielle. Pour \(n\geq 1\text{,}\) on rappelle que
La fonction factorielle(n)
ci-après calcule n! à l'aide d'une boucle for
. On la teste avec print(factorielle(5))
qui doit afficher \(\text{120}\) puisque
Next
autant de fois que nécessaire dans l'application Python Tutor si vous voulez suivre pas à pas l'exécution du code qui précède.