Python return?

5 Antworten

Also was bedeutet return? Es ist ja nicht das gleiche wie print.

das hinter dem return stehende wird an den Aufrufer zurückgegeben. Das findest du besonders bei Funktionen, die du aufrufst und hat erstmal nichts mit print zu tun

Beispiel:

def func():
  return "Dies ist ein Text"

print(func()) 

An der Stelle wäre der Aufrufer eben die Print-Funktion, und das Zurückgegebene wird daran übergeben - es wird also "Dies ist ein Text" ausgegeben.

Du kannst das auch nutzen, um das Ergebnis einer Funktion in einer Variable zu speichern.

Woher ich das weiß:Studium / Ausbildung – Abgeschlossenes Studium der Informatik (B.Sc.)

Du hast eingebaute Funktionen, etwa die Quadratwurzel:

c = sqrt(a * a + b * b)

Diese Funktion ist aber nicht vom Himmel gefallen - irgendjemand hat sie mal programmiert.

Du kannst dir auch selber eine sqrt-Funktion oder irgendeine andere Funktion schreiben und auf genau dieselbe Art aufrufen.

Wenn die Funktion ausgeführt wird, muss das Programm irgendwoher wissen, welcher Wert denn nun derjenige ist, der bei der Funktion "herauskommt". Verschiedene Programmiersprachen haben hier verschiedene Wege, das auszudrücken. Der verbreitetste Weg ist die "return-Anweisung"

return ergebnis_der_Funktion

Hierbei wird die Ausführung der "Funktions-Prozedur" beendet und der Wert hinter "return" "zurückgegeben".

Diesen Weg wählt auch Python.

Wenn du eine eigene Quadratwurzelfunktion schreibst - etwa mit dem Heron-Verfahren -

def my_sqrt(x):
    # z. B. Heron-Verfahren
    # Schleife, die so lange durchlaufen wird, bis die gewünschte Genauigkeit erreicht ist
    return result
 

und woanders schreibst

c = my_sqrt(16)

dann ist am Ende der my_sqrt-Funktion der Wert der variablen result 4 und das ist der Wert, der dann für my_sqrt(16) eingesetzt wird - effektiv wird dann (für diesen einen Fall)

c = my_sqrt(16)

durch

c = 4

ersetzt.

Am besten probierst du es selber aus: https://www.w3schools.com/python/gloss_python_function_return_value.asp

Woher ich das weiß:Berufserfahrung – Software-Entwickler

PWolff  14.07.2022, 18:03

Warum in Anfängerlektionen Prozeduren mit Ausgabeanweisungen statt Rückgabewerten verwendet werden, erschließt sich mir auch nicht so ganz.

Vermutlich, um überhaupt Prozeduren einzuführen, und Funktionen mit Rückgabewert folgen später. Immerhin verwendet Python "def" und nicht wie z. B. JavaScript "function" ...

0

Englisch: Return › Deutsch: Rückkehr / Rückgabe

Du brichst den Vorgang der Funktion ab. Du lässt sie damit (vorzeitig) beenden. Du gibst einen Wert zurück ...

Verfügbar in fast allen Programmiersprachen.

def Funktion ():
    return
    code()

Code() wird nicht ausgeführt, weil Return schon die Funktion beendet und zurückkehrt, wo diese gestartet wurde.

Bekommt return, wie in deinem Fall einen Wert, so gibt die Funktion diesen zurück.

print(hallo())

def hallo():
    return "hallo"

Print würde hier hallo ausgeben, da die Funktion hallo() den String hallo zurück gibt an print

Du kannst das mit mathematischen Funktionen vergleichen.

Du hast eine Funktion f(x)=3x+1 beispielsweise.

Du tust in die Funktion einen Wert. Z.B. die 2.

Also: f(2).

Die Funktion rechnet dann ein bisschen Rum und gibt dir dann eine Zahl zurück. Und genau dafür ist das Return. Die Funktion gibt hier also die 7 zurück

Woher ich das weiß:Hobby

du springst zurück dahin wo die funktion aufgerufen wurde und übergibst als ergebnis spiellfeld[3]