Python-Rückgabeanweisung

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:

Python Function Without Return Statement

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 Return Example

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 Return Statement With Expression

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 Return Boolean

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 Return String

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:

Python Function Return Tuple

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 Return Function

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 Function Return Outer Function

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:

Python Return vs Yield

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