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:
returnbeendet 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
print vs return – ganz wichtig
def add_print(a, b):
print(a + b)
def add_return(a, b):
return a + b
| print in der Funktion | return | |
|---|---|---|
| Zeigt etwas an | ja | nein (von allein) |
| Liefert Wert an Aufrufer | nein (liefert None) | ja |
| Weiterrechnen möglich | schwer | leicht |
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?
- Python berechnet den Ausdruck hinter
return. - Die Funktion endet sofort.
- Der Wert geht zurück zum Aufrufort.
- Code nach
returnin 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
Der Wert, den eine Funktion an den Aufrufer zurueckgibt.
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
returngibt Werte an den Aufrufer.- Ohne return oft
None. - return beendet die Funktion.
- print ≠ return.
- Rückgabewerte kann man speichern, prüfen, weiterverarbeiten.
Mini-Quiz
- Was ist ein Rückgabewert?
- Läuft Code nach return noch?
- Wann ist return besser als nur print?
Lösungen
- Der Wert, den die Funktion zurückgibt.
- Nein, in derselben Funktion nicht.
- Wenn das Ergebnis weiterverwendet werden soll.
return sitzt! Als Nächstes: lokale Variablen.