Unterschied zwischen Rückgabe und Druck in Python? [Duplikat]

7

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.

%Vor%

Was ist der Unterschied zwischen den beiden? Entschuldigung für die Mega-Noob-Frage!

    
Chris 07.10.2010, 12:06
quelle

5 Antworten

22

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%     
t3dodson 15.03.2013 20:52
quelle
10

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.

    
SilentGhost 07.10.2010 12:08
quelle
4

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.

    
RichieHindle 07.10.2010 12:11
quelle
4

Denken Sie daran, dass die interaktive Befehlszeile nicht der einzige Ort ist, an dem Methoden aufgerufen werden. Methoden können auch mit anderen Methoden aufgerufen werden, und in diesem Fall ist print keine brauchbare Methode, um Daten zwischen ihnen zu übergeben

    
Gareth 07.10.2010 12:16
quelle
0

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.

    
Anthony 07.10.2010 12:16
quelle

Tags und Links