Als ich eine Python-Funktion schrieb, fragte ich mich plötzlich.
Die Frage ist, ob Sie "return" oder "return None" schreiben sollten, wenn Sie den Prozess in der Mitte der Funktion beenden möchten.
Da empfohlen wird, explizit in Python zu schreiben, habe ich mich gefragt, ob ich "return None" schreiben soll, sowohl beim Beenden des Prozesses mit der return-Anweisung als auch bei der Rückgabe von "None". (* Wenn in Python nur "return" in die Funktionsdefinition geschrieben ist oder wenn keine Beschreibung von "return" vorhanden ist, wird "None" zurückgegeben. Referenz: [Python] Von der Funktion zurückgegebener Wert, der die Rückgabe nicht beschrieben hat. )
Aus der Schlussfolgerung geht hervor, dass ** return` besser ist **, wenn Sie nur die Funktion beenden möchten. Es scheint jedoch einige Dinge zu beachten, wenn Sie nur "return" schreiben.
return, return None und überhaupt keine Rückkehr? war hilfreich. Lassen Sie mich anhand eines Beispiels erklären.
return None
def hello_all():
persons = ['Zepp', 'Eric']
if persons:
for person in persons:
print('Hello ' + person)
#Gibt None zurück, wenn die Liste leer ist
else:
return None
Wenn Sie den Rückgabewert None verwenden möchten, haben Sie explizit "return None" geschrieben. Wenn Sie jedoch die Funktion beenden möchten, anstatt den Rückgabewert zu verwenden, können Sie "return" verwenden. Der folgende Code wird verwendet, um die for-Schleife zu verlassen und die Funktion zu beenden.
def hello_zepp():
persons = ['Zepp', 'Eric']
for person in persons:
print('Hello ' + person)
#Verarbeitung beenden
return
Mit anderen Worten, wenn ** for loop single ist, funktioniert es genauso wie break
**.
Wenn Sie den Prozess in einer for-Schleife beenden möchten, die in mehreren for-Schleifen verschachtelt ist, können Sie die Funktion im Gegensatz zu break
beenden, indem Sie nur eine return
schreiben, was den Code vereinfacht.
Wenn Sie "return" auf diese Weise verwenden, verwenden Sie es, wenn Sie den Prozess in der Mitte der Funktion zwangsweise beenden möchten, z. B. beim Verlassen der Schleife.
In diesem Fall sollte der Rückgabewert "None" nicht verwendet werden, daher sollten Sie den Rückgabewert keiner Variablen zuweisen.
#↓ sollte nicht gemacht werden
result = hello_zepp()
Wenn Sie die Funktion in der Mitte beenden möchten, möchten Sie den Vorgang möglicherweise unterbrechen, da die Bedingungen nicht erfüllt sind. In einem solchen Fall ist es besser, eine geeignete Ausnahmeklasse zu erstellen, eine Ausnahme auszulösen und die Ausnahme beim Aufrufer zu behandeln, als "return" zu verwenden.
Python-Funktionen erfordern nicht unbedingt eine return-Anweisung, aber selbst wenn keine return-Anweisung vorhanden ist, wird "None" als Rückgabewert zurückgegeben.
#Es gibt keine return-Anweisung, aber None wird als Rückgabewert zurückgegeben
def hello_eric():
persons = ['Zepp', 'Eric']
print('Hello ' + persons[1])
Auch in diesem Fall, wie im Fall von "return None", sollte dieses "None" nicht verwendet werden. Weisen Sie den Rückgabewert daher nicht einer Variablen zu.
return None
, um den Rückgabewert None
zu verwenden.
--return
kann nützlich sein, wenn Sie mehrere Schleifen gleichzeitig verlassen möchten.Recommended Posts