Heim >Backend-Entwicklung >Python-Tutorial >Python-Funktionen: Return None, Return oder No Return-Anweisung – welche sollten Sie verwenden?

Python-Funktionen: Return None, Return oder No Return-Anweisung – welche sollten Sie verwenden?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-10 11:24:20369Durchsuche

Python Functions: Return None, Return, or No Return Statement—Which Should You Use?

Python-Funktionen: Eintauchen in Return-Anweisungen

Viele Python-Programmierer stehen vor dem Dilemma, zwischen der Verwendung von return None, return oder no return-Anweisungen zu wählen überhaupt beim Schreiben von Funktionen. In diesem Artikel werden die subtilen Unterschiede zwischen diesen Ansätzen untersucht und Hinweise gegeben, wann jeder angemessen ist.

Das Funktionstrio:

Berücksichtigen Sie die folgenden drei Funktionen:

def my_func1():
  print("Hello World")
  return None

def my_func2():
  print("Hello World")
  return

def my_func3():
  print("Hello World")

Auf den ersten Blick scheinen alle drei Funktionen None zurückzugeben. Bei näherer Betrachtung gibt es jedoch nuancierte Unterschiede in ihrem Verhalten.

Verwendung von „return None“:

Dies weist ausdrücklich darauf hin, dass die Funktion darauf ausgelegt ist, einen Wert zurückzugeben In diesem Fall: Keine. Dieser Wert kann anschließend an anderer Stelle im Code verwendet werden. return None wird normalerweise verwendet, wenn es einen bestimmten Rückgabewert gibt, den die Funktion bereitstellen soll.

Zum Beispiel gibt die folgende Funktion die Mutter einer Person zurück, wenn es sich um einen Menschen handelt, andernfalls None:

def get_mother(person):
    if is_human(person):
        return person.mother
    else:
        return None

Return verwenden:

Dies funktioniert ähnlich wie break-Anweisungen in Schleifen. Es dient in erster Linie dazu, die Funktionsausführung zu beenden, wobei der Rückgabewert keine Rolle spielt. Obwohl dies nicht häufig erforderlich ist, kann die Rückkehr in bestimmten Situationen nützlich sein.

Betrachten Sie dieses Beispiel, in dem wir in einer Gruppe von Gefangenen nach einem Gefangenen mit einem Messer suchen:

def find_prisoner_with_knife(prisoners):
    for prisoner in prisoners:
        if "knife" in prisoner.items:
            prisoner.move_to_inquisition()
            return  # No need to check the remaining prisoners or raise an alert
    raise_alert()

Beachten Sie, dass die Der Rückgabewert der Funktion sollte keiner Variablen zugewiesen werden, da er nicht für die weitere Verwendung vorgesehen ist.

Verwendung von „Keine Rückgabe“. Aussage:

Dieser Ansatz gibt auch None zurück, aber er impliziert, dass die Funktion ohne einen bestimmten Rückgabewert erfolgreich abgeschlossen wurde. Es erfüllt im Wesentlichen die gleiche Rolle wie die Rückgabe in Void-Funktionen in Sprachen wie C oder Java.

def set_mother(person, mother):
    if is_human(person):
        person.mother = mother

Schlussfolgerung:

Obwohl alle drei Methoden letztendlich „None“ zurückgeben, tun sie es dienen unterschiedlichen Zwecken. return None wird verwendet, wenn ein bestimmter Rückgabewert übermittelt werden muss. return wird verwendet, um die Funktionsausführung explizit zu beenden, und die Verwendung keiner Return-Anweisung zeigt eine erfolgreich abgeschlossene Funktion ohne einen angegebenen Rückgabewert an.

Das obige ist der detaillierte Inhalt vonPython-Funktionen: Return None, Return oder No Return-Anweisung – welche sollten Sie verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn