Die Python-Rückgabeanweisung wird verwendet, um Werte aus der Funktion zurückzugeben. Wir können die Rückgabeanweisung nur in einer Python-Funktion verwenden.
Python-Funktion ohne Rückgabeanweisung
Jede Funktion in Python gibt etwas zurück. Wenn die Funktion keine Rückgabeanweisung hat, gibt sie None
zurück.
def print_something(s):
print('Printing::', s)
output = print_something('Hi')
print(f'A function without return statement returns {output}')
Ausgabe:

Beispiel für die Python-Rückgabeanweisung
Wir können in einer Funktion eine Operation durchführen und das Ergebnis mit der Rückgabeanweisung an den Aufrufer zurückgeben.
def add(x, y):
result = x + y
return result
output = add(5, 4)
print(f'Output of add(5, 4) function is {output}')
Ausgabe:

Python-Rückgabeanweisung mit Ausdruck
Wir können auch Ausdrücke in der Rückgabeanweisung verwenden. In diesem Fall wird der Ausdruck ausgewertet und das Ergebnis wird zurückgegeben.
def add(x, y):
return x + y
output = add(5, 4)
print(f'Output of add(5, 4) function is {output}')
Ausgabe:

Python Rückgabe boolesch
Schauen wir uns ein Beispiel an, in dem wir den booleschen Wert des Arguments einer Funktion zurückgeben. Wir werden die bool()-Funktion verwenden, um den booleschen Wert des Objekts zu erhalten.
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")}')
Ausgabe:

Python Rückgabe Zeichenkette
Schauen wir uns ein Beispiel an, in dem unsere Funktion die Zeichenketten-Repräsentation des Arguments zurückgibt. Wir können die str()-Funktion verwenden, um die Zeichenketten-Repräsentation eines Objekts zu erhalten.
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)}')
Ausgabe:

Python Rückgabe Tupel
Manchmal möchten wir eine Anzahl von Variablen in ein Tupel umwandeln. Schauen wir uns an, wie man eine Funktion schreibt, die ein Tupel aus einer variablen Anzahl von Argumenten zurückgibt.
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}')
Ausgabe:

Weitere Lektüre: Python *args und **kwargs
Python-Funktion, die eine andere Funktion zurückgibt
Wir können auch eine Funktion aus der Rückgabeanweisung zurückgeben. Dies ähnelt dem Currying, das die Technik des Übersetzens der Auswertung einer Funktion, die mehrere Argumente akzeptiert, in die Auswertung einer Sequenz von Funktionen ist, von denen jede ein einzelnes Argument hat.
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}')
Ausgabe:

Python-Funktion, die äußere Funktion zurückgibt
Wir können auch eine Funktion zurückgeben, die außerhalb der Funktion definiert ist, mit der Rückgabeanweisung.
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}')
Ausgabe:

Python gibt mehrere Werte zurück
Wenn Sie mehrere Werte aus einer Funktion zurückgeben möchten, können Sie ein Tupel, eine Liste oder ein Wörterbuchobjekt je nach Bedarf zurückgeben. Wenn Sie jedoch eine große Anzahl von Werten zurückgeben müssen, ist die Verwendung einer Sequenz eine zu ressourcenintensive Operation. In diesem Fall können wir „yield“ verwenden, um mehrere Werte nacheinander zurückzugeben.
def multiply_by_five(*args):
for arg in args:
yield arg * 5
a = multiply_by_five(4, 5, 6, 8)
print(a)
# Zeigen der Werte
for i in a:
print(i)
Ausgabe:

Zusammenfassung
Die Python-Rückgabeanweisung wird verwendet, um die Ausgabe aus einer Funktion zurückzugeben. Wir haben gelernt, dass wir auch eine Funktion aus einer anderen Funktion zurückgeben können. Außerdem werden Ausdrücke ausgewertet und das Ergebnis wird aus der Funktion zurückgegeben.
Sie können das vollständige Python-Skript und weitere Python-Beispiele in unserem GitHub Repository überprüfen.
Source:
https://www.digitalocean.com/community/tutorials/python-return-statement