Aller au contenu principal

🖹 print() vs return ⏎

Beaucoup mĂ©langent les deux, parce qu’on voit immĂ©diatement print() Ă  l’écran, alors que return est plus invisible.

🖹 print()​

  • 👉 est une fonction
  • affiche quelque chose Ă  l’écran
  • produit un effet visuel

⏎ return​

  • 👉 est un mot-clĂ©
  • renvoie une valeur Ă  l’endroit oĂč la fonction a Ă©tĂ© appelĂ©e
  • produit une valeur utilisable

1) print() :​

que vaut l’appel de la fonction ?​

def dire_bonjour():
print("Bonjour!")

x = dire_bonjour()
print(x)

Affichage :

Bonjour!
None

👉 dire_bonjour() vaut None.

  • La fonction a affichĂ© "Bonjour!"
  • Mais elle n’a rien retournĂ©
  • Donc la variable x contient None

2) return :​

que vaut l’appel de la fonction ?​

def dire_bonjour():
return "Bonjour!"

x = dire_bonjour()
print(x)

Affichage :

Bonjour!

👉 dire_bonjour() vaut "Bonjour!".

  • La fonction retourne une valeur
  • La variable x reçoit cette valeur
  • On peut l’utiliser comme on veut

🎯 Pourquoi on se casse la tĂȘte Ă  utiliser return ?​

Parce qu’une fonction n’est pas faite pour afficher. Elle est faite pour calculer.

Ensuite, le programme décide quoi faire du résultat.

Regardez la différence :

❌ Version limitĂ©e (avec print())​

def carre(n):
print(n * n)

x = carre(4) + 10

👉 Impossible!
carre(4) vaut None, donc on ne peut pas faire + 10.

✅ Version flexible (avec return)​

def carre(n):
return n * n

x = carre(4) + 10
print(x)

👉 Maintenant, ça fonctionne.

💡 IdĂ©e importante​

Une fonction qui retourne une valeur est :

  • plus flexible
  • plus rĂ©utilisable
  • plus gĂ©nĂ©rique
  • plus propre

Parce qu’on peut :

a = carre(2)        # stocker la valeur retournée dans une variable
b = carre(5) * 3 # faire un autre calcul avec la valeur retournée
print(carre(10)) # afficher directement la valeur retournée

👉 Une seule fonction, plusieurs usages.

⚠ Erreur frĂ©quente​

❌ Mauvaise façon​

def carre(n):
print(n * n)

print(f"Résultat : {carre(4)}")

Affichage :

16
Résultat : None

Le 16 vient du print() interne. Mais la fonction retourne None.

✅ Bonne façon​

def carre(n):
return n * n

print(f"Résultat : {carre(4)}")

Affichage :

Résultat : 16

🧠 RĂ©sumĂ© mental​

  • print() ➜ pour voir
  • return ➜ pour transmettre
  • Une fonction bien conçue calcule et retourne
  • Le programme principal dĂ©cide quand afficher

Si un Ă©noncĂ© demande d'« Ă©crire une fonction qui retourne
 », alors il faut utiliser return, pas print().