Chargement...

Valeur renvoyée

return sort une valeur de la fonction. cups_left reçoit started et drank, et renvoie started - drank. cups_left(3, 1) est donc le nombre 2.

print est en dehors de la fonction et écrit ce qui est sorti. cups_left n'a pas de print à lui.

il en sort 2

python
def cups_left(started, drank):
    return started - drank

print(cups_left(3, 1))

L'écran affiche 2. C'est print qui l'a écrit, pas cups_left. Avec d'autres nombres, c'est cette différence qui sort. cups_left(3, 3) vaut 0, parce que 3 - 3 fait 0.

Une ligne sous return reste décalée et appartient à la fonction. Elle ne s'exécute pas pour autant. return quitte la fonction tout de suite, et Python n'atteint jamais cette ligne.

la ligne sous return ne s'exécute pas

python
def cups_left(started, drank):
    return started - drank
    print("done")

print(cups_left(3, 1))

L'écran affiche 2. done n'est pas écrit. print("done") est décalé sous def, mais return a déjà quitté la fonction.

Sans return, rien ne sort, et le résultat est None. None veut dire : pas de valeur. greet écrit le nom et n'a pas de return. Le mot lida à l'écran vient de ce print intérieur. Le résultat de greet("lida") lui-même est None.

le print intérieur n'est pas le résultat

python
def greet(name):
    print(name)

print(greet("lida"))

L'écran affiche lida, puis None. greet a écrit lida. Le print extérieur a écrit le résultat. Ce résultat est None, parce que greet n'a pas de return.

Trois utilisations, et ce qui sort de chacune. Dans la ligne de greet, c'est None, même si l'écran montre aussi lida. Ce lida est le print intérieur, pas le résultat.

📊 Ce qui sort

Utilisation Résultat
cups_left(3, 1) 2
cups_left(3, 3) 0
greet("lida") sans return None

La page suivante dit jusqu'où un nom vaut. Ici, on ne voit que la valeur qui sort.

Avant de répondre

  1. Qu'écrit print(cups_left(3, 1)) ?
  2. Que vaut cups_left(3, 3) ?
  3. print("done") est sous return. done est-il écrit ?
  4. greet n'écrit que le nom. Quelles deux lignes écrit print(greet("lida")) ?

La valeur qui sort

return started - drank fait du résultat ce nombre. print(cups_left(3, 1)) écrit 2, et cups_left(3, 3) vaut 0. Une ligne sous return ne s'exécute pas, donc done n'apparaît jamais. Sans return, print(greet("lida")) écrit lida, puis None.

🧠 Testez Vos Connaissances

Prêt à Commencer

Testez Vos Connaissances

Mettez-vous au défi avec ce quiz interactif et voyez à quel point vous comprenez le sujet

❓
5
Questions
🎯
70%
Pour Réussir
♾️
∞
Temps
🔄
∞
Tentatives

📝 Instructions

  • Lisez chaque question attentivement
  • Sélectionnez la meilleure réponse pour chaque question
  • Vous pouvez refaire le quiz autant de fois que vous le souhaitez
  • Votre progression sera affichée en haut