Heim >Backend-Entwicklung >Python-Tutorial >Python „return', „return None' und No „return': Was sind die Hauptunterschiede?

Python „return', „return None' und No „return': Was sind die Hauptunterschiede?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-17 17:33:131011Durchsuche

Python `return`, `return None`, and No `return`: What are the Key Differences?

Return, Return None und No Return in Python: Was ist der Unterschied?

Berücksichtigen Sie die folgenden Funktionen:

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

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

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

Obwohl es den Anschein hat, als würden alle „Keine“ zurückgeben, gibt es doch subtile Unterschiede Verhalten.

Verhaltensunterschiede

Wenn diese Funktionen ausgeführt werden:

  • my_func1(): Gibt „Hallo“ aus World“ und kehrt explizit zurück Keine.
  • my_func2(): Gibt „Hello World“ aus und gibt implizit None zurück (das Standardverhalten von Funktionen).
  • my_func3(): Gibt „Hello World“ aus und gibt nichts zurück (nicht einmal Keine).

Überlegungen zur Verwendung

Keine zurückgeben

  • Für Funktionen verwenden, die vorgesehen sind Gibt einen Wert zurück, auch wenn es „Keiner“ ist.
  • Der zurückgegebene Wert kann später verwendet oder ignoriert werden den Code.
  • Vermeiden Sie die Rückgabe von None, wenn es keine alternativen Rückgabewerte gibt.

Return

  • Verwenden Sie diese Option, um a explizit zu beenden Funktion, ähnlich wie break-Anweisungen in Schleifen.
  • Der Rückgabewert ist irrelevant und sollte es auch nicht sein verwendet.
  • Nützlich, wenn Sie die Funktion nur beenden möchten, ohne einen bestimmten Wert zurückzugeben.

Keine Rückgabe

  • Verwenden für Funktionen, die keinen Wert zurückgeben oder lediglich eine erfolgreiche Ausführung anzeigen müssen.
  • Wie bei der Rückgabe ist der zurückgegebene Wert nicht zur Verwendung gedacht oder erfasst werden.
  • Ähnlich wie Void-Funktionen in anderen Sprachen wie C und Java.

Beispiele

Den Namen einer Mutter ermitteln (Keine zurückgeben):

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

Suche nach einem Gefangener mit einem Messer (Rückkehr):

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 other prisoners.
    raise_alert()

Namen einer Mutter festlegen (Keine Rückkehr):

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

Das obige ist der detaillierte Inhalt vonPython „return', „return None' und No „return': Was sind die Hauptunterschiede?. 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