In Python verstehe ich die Rückgabefunktion nicht. Warum sollte ich es benutzen, wenn ich es einfach ausdrucken könnte?
%Vor% Dieser Code gibt mir 3
. Aber mit der Rückkehr macht es genau dasselbe.
Was ist der Unterschied zwischen den beiden? Entschuldigung für die Mega-Noob-Frage!
Der Punkt
return ist keine Funktion. Es ist ein Kontrollflusskonstrukt (wie if
else
Konstrukte). Damit können Sie "Daten zwischen Funktionsaufrufen mitnehmen".
Aufschlüsselung
print
: Gibt den Wert für den Benutzer als Ausgabezeichenfolge an. print(3)
würde dem Bildschirm eine Zeichenfolge '3'
geben, die der Benutzer anzeigen kann. Das Programm würde den Wert verlieren.
return
: gibt den Wert für das Programm an. Aufrufer der Funktion haben dann die eigentlichen Daten und den Datentyp (bool, int, etc ...) return 3
würde den Wert 3 an die Stelle setzen, an der die Funktion aufgerufen wurde.
Beispielzeit
%Vor%Was würden Sie tun, wenn Sie den gedruckten Wert sparen möchten? Sehen Sie sich die gute Erklärung in den Dokumenten an und cf.:
%Vor% Es unterscheidet sich auch nicht von der return
-Anweisung in einer anderen Sprache.
Für komplexere Berechnungen müssen Sie Zwischenwerte zurückgeben. Zum Beispiel:
%Vor% Sie können nicht maximum
in diesem Fall das Ergebnis drucken lassen.
Ehrlich gesagt hängt es davon ab, was Sie tun müssen. Wenn die Funktionsspezifikation angibt, dass der maximale Ausdruck gedruckt wird, ist das, was Sie haben, in Ordnung. Bei einer solchen Methode passiert es im Allgemeinen, dass die Methode den tatsächlichen Wert zurückgibt, der größer ist. Wenn sie gleich sind, spielt es keine Rolle, welcher Wert zurückgegeben wird.