6.5 Valeurs de retour
Objectifs d'apprentissage
À la fin de cette section, vous devriez être capable de :
- Identifier la valeur de retour d'une fonction.
- Utiliser des instructions return dans les fonctions pour renvoyer des valeurs.
Renvoyer une valeur depuis une fonction
Lorsqu'une fonction se termine, elle renvoie un résultat au code appelant. Une instruction return (return statement) termine l'exécution de la fonction et peut spécifier une valeur à renvoyer à l'appelant de la fonction. Les fonctions présentées jusqu'ici ne comportaient pas d'instruction return, ce qui équivaut à renvoyer None, représentant l'absence de valeur.
Concepts en pratique
Utiliser des instructions return
Utiliser plusieurs instructions return
Les fonctions qui possèdent plusieurs chemins d'exécution peuvent utiliser plusieurs instructions return. Ex. : une fonction avec une instruction if-else peut avoir deux instructions return pour chaque branche. Les instructions Return terminent toujours la fonction et rendent le contrôle au code appelant.
Dans le tableau ci-dessous, calc_mpg() prend en entrée les miles parcourus et les gallons d'essence consommés, puis calcule le nombre de miles par gallon d'une voiture. calc_mpg() vérifie si gallons vaut 0 (afin d'éviter une division par 0) et, si c'est le cas, renvoie -1, une valeur souvent utilisée pour indiquer un problème.
def calc_mpg(miles, gallons):
if gallons > 0:
mpg = miles/gallons
return mpg
else:
print("Gallons can't be 0")
return -1
car_1_mpg = calc_mpg(448, 16)
print("Car 1's mpg is", car_1_mpg)
car_2_mpg = calc_mpg(300, 0)
print("Car 2's mpg is", car_2_mpg)
|
Car 1's mpg is 28.0 Gallons can't be 0 Car 2's mpg is -1 |
Concepts en pratique
Instructions return multiples
Utiliser des fonctions comme valeurs
Les appels de fonction produisent des valeurs et peuvent donc être utilisés dans des expressions. Un appel de fonction peut être combiné avec d'autres appels de fonction, des variables et des littéraux tant que la valeur de retour est compatible avec l'opération.
Concepts en pratique
Utilisation des valeurs de fonction
À vous d'essayer
Estimation du nombre de jours vécus
Écrivez une fonction, days_alive(), qui prend en paramètre un âge en années et renvoie le nombre estimé de jours vécus par l'utilisateur sous la forme d'un entier. Supposez que chaque année compte 365.24 jours. Utilisez round(), qui prend un nombre et renvoie l'entier le plus proche.
Écrivez ensuite un programme principal qui lit l'âge d'un utilisateur et affiche le résultat de days_alive().
Pour l'entrée :
21
La sortie est :
You have been alive about 7670 days.
À vous d'essayer
Calculer la moyenne de listes
Écrivez une fonction, avg_list(), qui prend en entrée une liste et renvoie la moyenne des valeurs de la liste.