đš 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
đŻ 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 voirreturnâ 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().