La déclaration return en Python est utilisée pour renvoyer des valeurs de la fonction. Nous pouvons utiliser la déclaration return uniquement à l’intérieur d’une fonction Python.
Fonction Python sans déclaration return
Chaque fonction en Python renvoie quelque chose. Si la fonction n’a pas de déclaration return, elle renvoie alors None
.
def print_something(s):
print('Printing::', s)
output = print_something('Hi')
print(f'A function without return statement returns {output}')
Sortie :

Exemple de déclaration return en Python
Nous pouvons effectuer certaines opérations dans une fonction et renvoyer le résultat à l’appelant à l’aide de la déclaration return.
def add(x, y):
result = x + y
return result
output = add(5, 4)
print(f'Output of add(5, 4) function is {output}')
Sortie :

Déclaration return Python avec expression
Nous pouvons également avoir des expressions dans la déclaration return. Dans ce cas, l’expression est évaluée et le résultat est renvoyé.
def add(x, y):
return x + y
output = add(5, 4)
print(f'Output of add(5, 4) function is {output}')
Sortie :

Python renvoie un booléen
Jetons un coup d’œil à un exemple où nous allons renvoyer la valeur booléenne de l’argument d’une fonction. Nous utiliserons la fonction bool() pour obtenir la valeur booléenne de l’objet.
def bool_value(x):
return bool(x)
print(f'Boolean value returned by bool_value(False) is {bool_value(False)}')
print(f'Boolean value returned by bool_value(True) is {bool_value(True)}')
print(f'Boolean value returned by bool_value("Python") is {bool_value("Python")}')
Sortie :

Python renvoie une chaîne de caractères
Jetons un coup d’œil à un exemple où notre fonction renverra la représentation en chaîne de caractères de l’argument. Nous pouvons utiliser la fonction str() pour obtenir la représentation en chaîne d’un objet.
def str_value(s):
return str(s)
print(f'String value returned by str_value(False) is {str_value(False)}')
print(f'String value returned by str_value(True) is {str_value(True)}')
print(f'String value returned by str_value(10) is {str_value(10)}')
Sortie :

Python renvoie un tuple
Parfois, nous voulons convertir un certain nombre de variables en un tuple. Voyons comment écrire une fonction pour renvoyer un tuple à partir d’un nombre variable d’arguments.
def create_tuple(*args):
my_list = []
for arg in args:
my_list.append(arg * 10)
return tuple(my_list)
t = create_tuple(1, 2, 3)
print(f'Tuple returned by create_tuple(1,2,3) is {t}')
Sortie :

Lecture supplémentaire: Python *args et **kwargs
Fonction Python renvoyant une autre fonction
Nous pouvons également renvoyer une fonction à partir de l’instruction return. C’est similaire au Currying, qui est la technique de traduction de l’évaluation d’une fonction prenant plusieurs arguments en évaluant une séquence de fonctions, chacune ayant un seul argument.
def get_cuboid_volume(h):
def volume(l, b):
return l * b * h
return volume
volume_height_10 = get_cuboid_volume(10)
cuboid_volume = volume_height_10(5, 4)
print(f'Cuboid(5, 4, 10) volume is {cuboid_volume}')
cuboid_volume = volume_height_10(2, 4)
print(f'Cuboid(2, 4, 10) volume is {cuboid_volume}')
Sortie :

Fonction Python renvoyant une fonction externe
Nous pouvons également renvoyer une fonction qui est définie en dehors de la fonction avec l’instruction return.
def outer(x):
return x * 10
def my_func():
return outer
output_function = my_func()
print(type(output_function))
output = output_function(5)
print(f'Output is {output}')
Sortie :

Python renvoyer plusieurs valeurs
Si vous souhaitez retourner plusieurs valeurs à partir d’une fonction, vous pouvez retourner un tuple, une liste ou un objet dictionnaire selon vos besoins. Cependant, si vous devez retourner un grand nombre de valeurs, l’utilisation d’une séquence est une opération trop consommatrice de ressources. Dans ce cas, nous pouvons utiliser le mot-clé « yield » pour retourner plusieurs valeurs une par une.
Voici un exemple montrant les valeurs :
def multiply_by_five(*args):
for arg in args:
yield arg * 5
a = multiply_by_five(4, 5, 6, 8)
print(a)
# affichage des valeurs
for i in a:
print(i)
Résultat :

Résumé
La déclaration de retour en Python est utilisée pour renvoyer la sortie d’une fonction. Nous avons appris qu’il est également possible de retourner une fonction à partir d’une autre fonction. De plus, les expressions sont évaluées puis le résultat est renvoyé par la fonction.
Vous pouvez consulter le script Python complet et d’autres exemples Python sur notre dépôt GitHub.
Source:
https://www.digitalocean.com/community/tutorials/python-return-statement