Zum Hauptinhalt springen

Werte mit return zurückgeben

Warum brauchen wir das?

Eine Funktion kann Dinge anzeigen (print).
Oft brauchst du aber ein Ergebnis zum Weiterverwenden:

  • Summe speichern
  • in if prüfen
  • in eine Datei schreiben
  • an eine andere Funktion geben

Dafür gibt es return.

Definition: return

Definition:
return beendet die Funktion und gibt einen Wert an den Aufrufer zurück.
Der Aufrufer kann diesen Wert in einer Variable speichern oder direkt benutzen.

def add(a, b):
return a + b

ergebnis = add(3, 4)
print(ergebnis) # 7
def add_print(a, b):
print(a + b)

def add_return(a, b):
return a + b
print in der Funktionreturn
Zeigt etwas anjanein (von allein)
Liefert Wert an Aufrufernein (liefert None)ja
Weiterrechnen möglichschwerleicht
x = add_print(2, 3) # zeigt 5, x ist None
y = add_return(2, 3) # y ist 5
print(y + 1) # 6

Was passiert bei return?

  1. Python berechnet den Ausdruck hinter return.
  2. Die Funktion endet sofort.
  3. Der Wert geht zurück zum Aufrufort.
  4. Code nach return in derselben Funktion läuft nicht mehr.
def f():
return 5
print("x") # wird nie ausgefuehrt

print(f()) # 5

return und Entscheidungen

def ist_bestanden(punkte):
return punkte >= 50

if ist_bestanden(70):
print("Ja!")

Die Funktion liefert True/False – super für if.

Ohne return

def add(a, b):
a + b

print(add(2, 3)) # None

Die Rechnung passiert, aber das Ergebnis wird weggeworfen, wenn du es nicht returnst.

Neue Wörter

Rueckgabewertreturn value

Der Wert, den eine Funktion an den Aufrufer zurueckgibt.

returnreturn

Befehl: Funktion beenden und Wert zurueckgeben.

Was passiert im Computer?

Stell dir vor: Der Aufrufer schickt Arbeit in die Maschinen-Funktion.
return schickt das Ergebnis zurück nach draußen.
print ist nur ein Lautsprecher innen – das Ergebnis bleibt nicht automatisch draußen.

Probiere es selbst

Experiment 1

verdopple(n) mit return, speichern, print.

Experiment 2

durchschnitt(a, b) return.

Experiment 3

return-Wert in if nutzen.

Experiment 4

Vergleiche print-Version und return-Version.

Fehlerdetektiv

def add(a, b):
a + b
print(add(2, 3))
Lösung
def add(a, b):
return a + b

Übungen

Level 1

summe(a, b) mit return.

Lösung
def summe(a, b):
return a + b

print(summe(4, 5))

Level 2

ist_bestanden(punkte) return True/False.

Lösung
def ist_bestanden(punkte):
return punkte >= 50

print(ist_bestanden(70))

Level 3

max2(a, b) gibt die größere Zahl zurück.

Beispiel
def max2(a, b):
if a >= b:
return a
return b

print(max2(3, 9))

Mini-Challenge

Erkläre einer Person den Unterschied print vs return mit einem eigenen Beispiel.

Zusammenfassung

  • return gibt Werte an den Aufrufer.
  • Ohne return oft None.
  • return beendet die Funktion.
  • print ≠ return.
  • Rückgabewerte kann man speichern, prüfen, weiterverarbeiten.

Mini-Quiz

Mini-QuizWas passiert ohne return bei einer Berechnung in der Funktion?
  1. Was ist ein Rückgabewert?
  2. Läuft Code nach return noch?
  3. Wann ist return besser als nur print?
Lösungen
  1. Der Wert, den die Funktion zurückgibt.
  2. Nein, in derselben Funktion nicht.
  3. Wenn das Ergebnis weiterverwendet werden soll.

return sitzt! Als Nächstes: lokale Variablen.