Beenden Sie eine Funktion in Python

  1. Impliziter Rückgabetyp in Python
  2. Expliziter Rückgabetyp in Python

Jedes Programm hat einen gewissen Ausführungsfluss. Ein Flow ist nichts anderes als die Ausführung des Programms. Die Anweisung return wird verwendet, um die Python-Funktion zu beenden, die in vielen verschiedenen Fällen innerhalb des Programms verwendet werden kann. Die beiden häufigsten Arten, wie wir diese Aussage verwenden, sind unten aufgeführt.

  1. Wenn wir einen Wert von einer Funktion zurückgeben möchten, nachdem sie beendet oder ausgeführt wurde. Und wir werden den Wert später im Programm verwenden.
def add(a, b):
   return a+b

value = add(1,2)
print(value)

Ausgabe:

3

Hier gibt es den von a+b berechneten Wert zurück und speichert dann den Wert 3 in der Variablen value.

  1. Wenn wir die Ausführung der Funktion zu einem bestimmten Zeitpunkt stoppen möchten.
def add(a, b):
    
    if(a == 0):
        return
    elif(b == 0):
        return
    else:
        sum = a + b
        return sum

value = add(0,2)
print(value)

Ausgabe:

None

Wenn hier die Werte von a oder b 0 sind, wird direkt zurückgegeben, ohne die Summe der Zahlen zu berechnen. Wenn sie nicht 0 sind, wird nur die Summe berechnet und zurückgegeben.

Wenn Sie diese Anweisung in Ihrem Programm implementieren, ändert sich die Programmausführung je nachdem, wo Sie diese Anweisung in Ihr Programm eingefügt haben. Mal sehen, wie es funktioniert.

Impliziter Rückgabetyp in Python

Angenommen, wir haben eine Funktion, in die wir mit einer if-Anweisung geschrieben haben. Dann wollen wir sehen, wie sich das Programm verhält.

def solution():
    name = "john"
    
    if(name == "john"):
        print('My name ',name)

solution()

Ausgabe:

My name john

Die Funktion solution() akzeptiert keine Argumente. Darin befindet sich eine Variable namens name, die dann mit der Anweisung if überprüft, ob ihr Wert mit der Zeichenkette john übereinstimmt. Wenn es übereinstimmt, drucken wir den Wert der Variablen name und beenden dann die Funktion. Andernfalls, wenn die Zeichenkette nicht übereinstimmt, beenden wir sie einfach, ohne etwas zu tun.

Hier könnte man denken, dass keine return-Anweisung vorhanden ist, da im Code keine return-Anweisung geschrieben ist. Beachten Sie, dass das Schreiben der return-Anweisung nicht obligatorisch ist. Wenn Sie eine Python-Funktion beenden, wird nur dann return mit dem Wert None aufgerufen, wenn Sie die Anweisung return nicht angegeben haben. Der Wert None bedeutet, dass die Funktion ihre Ausführung abgeschlossen hat und nichts zurückgibt. Wenn Sie die Anweisung return ohne Parameter angegeben haben, entspricht sie auch der Anweisung return None. Wenn Sie in einer Funktion keinen Rückgabetyp angeben, ruft diese Funktion eine return-Anweisung auf. In Python wird dies als impliziter Rückgabetyp bezeichnet.

Expliziter Rückgabetyp in Python

Immer wenn Sie eine return-Anweisung explizit selbst in den Code einfügen, wird der Rückgabetyp als expliziter Rückgabetyp bezeichnet. Es gibt viele Vorteile eines expliziten Rückgabetyps, z. B. können Sie einen von einer Funktion berechneten Wert übergeben und zur späteren Verwendung in einer Variablen speichern oder die Ausführung der Funktion unter bestimmten Bedingungen mithilfe einer return-Anweisung stoppen und so weiter. Sehen wir uns ein Beispiel für den expliziten Typ in Python an.

def Fibonacci(n):
    
    if n < 0:
        print("Fibo of negative num does not exist")
    elif n == 0:
        return 0
    elif n == 1 or n == 2:
        return 1
    else:
        return Fibonacci(n-1) + Fibonacci(n-2)

print(Fibonacci(0))

Ausgabe:

0

Dies ist ein Programm zum Auffinden von Fibonacci-Zahlen. Beachten Sie, wie der Code mithilfe einer expliziten return-Anweisung zurückgegeben wird. Hierbei ist vor allem zu beachten, dass wir direkt einen Wert zurückgeben, wenn die an diese Funktion übergebene Zahl 2 oder kleiner als 2 ist, und die Funktion verlassen und den darunter geschriebenen Code ignorieren. Wir werden unseren Hauptcode (der im Block else vorhanden ist) nur ausführen, wenn der an diese Funktion übergebene Wert größer als 2 ist.

Verwandter Artikel - Python Function

  • Funktionsüberladung in Python