Warum gibt dieser Code „Keine“ in der Ausgabe aus?
Im bereitgestellten Code:
def lyrics(): print("The very first line") print(lyrics())
Das Problem liegt in der Anzahl der Druckanweisungen innerhalb und außerhalb der Funktion.
Grund dafür „None“-Ausgabe:
Wenn in Python eine Funktion aufgerufen wird, aber nicht explizit einen Wert zurückgibt, gibt sie implizit None zurück. In diesem Code ruft die Funktion Lyrics() print("Die allererste Zeile") auf, verfügt jedoch über keine explizite Return-Anweisung. Daher wird implizit None zurückgegeben. In der Zwischenzeit gibt die print-Anweisung außerhalb der Funktion das Ergebnis des Funktionsaufrufs aus, das None ist.
Lösung: Verwenden der Return-Anweisung
Um dieses Problem zu beheben, können Sie Folgendes tun Verwenden Sie die Return-Anweisung, um explizit einen Wert von der Funktion zurückzugeben. Wenn Sie den Code so ändern, dass er eine Return-Anweisung einschließt, wie zum Beispiel:
def lyrics(): print("The very first line") return None
würde „None“ innerhalb des Funktionsaufrufs „lyrics()“ korrekt zurückgegeben und die Ausgabe würde nur die gedruckte Zeichenfolge „Die allererste Zeile“ enthalten.
Auswirkungen der impliziten und expliziten Rückgabe von „Keines“
Die implizite Rückgabe von „Keines“ kann führen zu unerwartetem Verhalten, insbesondere bei der Arbeit mit Funktionen, die das Drucken und Zurückgeben von Werten kombinieren. Durch die explizite Rückgabe von None oder unterschiedlichen Werten nach Bedarf innerhalb von Funktionen können Sie die Ausgabe steuern und Verwirrung vermeiden.
Das obige ist der detaillierte Inhalt vonWarum gibt meine Python-Funktion „None' aus, obwohl darin eine Zeichenfolge gedruckt wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!