Instruction de retour en Python
L'instruction return en Python est utilisée pour renvoyer des valeurs depuis la fonction. Nous ne pouvons utiliser l'instruction return que dans une fonction. Elle ne peut pas être utilisée en dehors d'une fonction Python.
Fonction Python sans instruction de retour
Chaque fonction en Python retourne quelque chose. Si la fonction n'a pas d'instruction de retour, alors elle retourne 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 de retour en Python
Nous pouvons effectuer une opération dans une fonction et renvoyer le résultat à l'appelant en utilisant l'instruction 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 :
Instruction return en Python avec expression
Nous pouvons également avoir des expressions dans l'instruction de retour. Dans ce cas, l'expression est évaluée et le résultat est retourné.
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
Examinons un exemple où nous allons retourner la valeur booléenne de l'argument d'une fonction. Nous allons utiliser 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
Regardons un exemple où notre fonction renverra la représentation sous forme de chaîne de l'argument. Nous pouvons utiliser la fonction str() pour obtenir la représentation sous forme de 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 retourne un tuple
Parfois, nous voulons convertir un certain nombre de variables en un tuple. Voyons comment écrire une fonction pour retourner 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 complémentaire: Python *args et **kwargs
Fonction Python retournant une autre fonction
Nous pouvons également retourner une fonction depuis l'instruction de retour. Cela est similaire au Currying, qui est la technique de traduction de l'évaluation d'une fonction prenant plusieurs arguments en l'évaluation d'une séquence de fonctions, chacune avec 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 retournant une fonction externe
Nous pouvons également retourner une fonction qui est définie en dehors de la fonction avec l'instruction de retour.
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 renvoie plusieurs valeurs
Si vous souhaitez retourner plusieurs valeurs 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, alors utiliser une séquence est une opération trop gourmande en ressources. Nous pouvons utiliser yield, dans ce cas, pour retourner plusieurs valeurs une par une.
def multiply_by_five(*args):
for arg in args:
yield arg * 5
a = multiply_by_five(4, 5, 6, 8)
print(a)
showing the values
for i in a:
print(i)
Sortie :
Résumé
L'instruction return en Python est utilisée pour renvoyer la sortie d'une fonction. Nous avons appris que nous pouvons également renvoyer une fonction depuis une autre fonction. De plus, les expressions sont évaluées et ensuite le résultat est renvoyé de la fonction.
Vous pouvez consulter le script Python complet et d'autres exemples de Python sur notre dépôt GitHub.









