Retourner des valeurs à partir de fonctions

Terminée

Pourboire

Pour plus d’informations, consultez l’onglet Texte et images !

Les fonctions les plus utiles ne font pas simplement quelque chose : elles produisent un résultat que l’appelant peut utiliser. Ce résultat est renvoyé par l’instruction return.

Retour d’une valeur

Permet return d’envoyer une valeur hors d’une fonction. Une fois return exécutée, la fonction se termine immédiatement.

def add(a, b):
    return a + b

result = add(3, 4)
print(result)   # Output: 7

Vous pouvez utiliser la valeur retournée directement dans une expression :

print(add(10, 5) * 2)   # Output: 30

Dans cet exemple, la add() fonction retourne la somme de ses deux paramètres et cette valeur est utilisée dans l’expression de multiplication avant son impression.

Retour ou impression

Notez la différence entre print() et return:

  • print() affiche une valeur dans la console.
  • return renvoie une valeur à l’appelant afin qu’il puisse être stocké, utilisé ou transmis à une autre fonction.
def add(a, b):
    print(a + b)   # Shows the result but returns None

x = add(3, 4)
print(x)           # Output: None

Si vous souhaitez utiliser le résultat d’une fonction, vous devez l’utiliser return au lieu de print().

Renvoi de plusieurs valeurs

Une fonction peut retourner plusieurs valeurs en les séparant par des virgules. Python les regroupe dans un tuple que vous pouvez décomposer côté réception :

#coordinates example
def get_coordinates():
    return 10.0, 20.0

x, y = get_coordinates()
print(f"x: {x}, y: {y}")   # Output: x: 10.0, y: 20.0

Fonctions sans valeur de retour

Une fonction qui n’inclut pas d’instruction return retourne toujours quelque chose , la valeur Nonespéciale .

def greet(name):
    print(f"Hello, {name}!")

result = greet("Alex")
print(result)   # Output: None

C’est bien quand l’objectif de la fonction est de faire quelque chose (comme imprimer ou écrire dans un fichier) plutôt que de produire une valeur.