Stewdent.eu
▾

Rückgabewerte

Eine Funktion kann mit dem return-Schlüsselwort ein Ergebnis zurückgeben. Rückgabewerte ermöglichen es, Berechnungen in Funktionen auszulagern und das Ergebnis im restlichen Programm weiterzuverwenden.

Zuletzt aktualisiert: 25. Januar 2026

★★☆☆☆ Stufe 2computingprogrammingfunktionenrückgabewertreturn3 Min Lesezeit

Fehler melden

Viele Funktionen tun nicht nur etwas, sondern geben ein Ergebnis zurück, das du weiterverwendest. Der Unterschied zwischen einer Funktion, die etwas ausgibt, und einer, die einen Wert zurückgibt, ist wichtig.

def addiere_print(a, b):
    print(a + b)        # gibt das Ergebnis nur aus

def addiere_return(a, b):
    return a + b        # gibt das Ergebnis zurück

Der Unterschied zeigt sich, wenn du das Ergebnis weiterverwenden möchtest:

# Mit print: Ergebnis geht verloren
addiere_print(3, 5)   # zeigt 8 an, aber du kannst es nicht speichern
x = addiere_print(3, 5)   # x ist None!

# Mit return: Ergebnis bleibt nutzbar
y = addiere_return(3, 5)  # y ist 8
print(y * 2)              # 16
Hinweis

Wenn eine Funktion kein return hat (oder nur return ohne Wert), gibt sie automatisch None zurück. None ist Pythons Art zu sagen: "kein Wert".

Rückgabewerte weiterverwenden

Das ist der eigentliche Vorteil von Rückgabewerten — du kannst sie in Berechnungen oder als Argumente für andere Funktionen nutzen:

def quadrat(x):
    return x * x

def summe_der_quadrate(a, b):
    return quadrat(a) + quadrat(b)

ergebnis = summe_der_quadrate(3, 4)   # 9 + 16 = 25
print(ergebnis)   # 25

Frühzeitiges Rückgeben

return beendet die Funktion sofort. Du kannst es nutzen, um Randfälle früh abzufangen:

def dividiere(a, b):
    if b == 0:
        return "Fehler: Division durch Null nicht möglich"
    return a / b

print(dividiere(10, 2))   # 5.0
print(dividiere(10, 0))   # Fehler: Division durch Null nicht möglich
Tipp

Frühe Rückgaben für Fehler oder Sonderfälle am Anfang der Funktion zu platzieren, macht den Hauptcode der Funktion leichter lesbar. Dieser Stil wird "Guard Clause" (Wächterklausel) genannt.

Mehrere Werte zurückgeben

Python erlaubt es, mehrere Werte gleichzeitig zurückzugeben:

def min_max(zahlen):
    return min(zahlen), max(zahlen)

kleinste, groesste = min_max([3, 1, 7, 4, 9, 2])
print(f"Kleinste: {kleinste}, Größte: {groesste}")
# Kleinste: 1, Größte: 9

Technisch gesehen gibt Python ein Tupel zurück, aber du kannst die Werte direkt in separate Variablen entpacken.

Warnung

Wenn du mehrere Werte zurückgibst und sie in einer einzelnen Variable speicherst, bekommst du ein Tupel: ergebnis = min_max([1, 2, 3]) ergibt (1, 3). Das kann überraschend sein, wenn du nur einen Wert erwartest.

Vollständiges Beispiel

def notenberechnung(punkte, max_punkte):
    """Berechnet die Note basierend auf erreichten Punkten."""
    prozent = (punkte / max_punkte) * 100
    if prozent >= 87:
        return 1
    elif prozent >= 75:
        return 2
    elif prozent >= 62:
        return 3
    elif prozent >= 50:
        return 4
    elif prozent >= 30:
        return 5
    else:
        return 6

note = notenberechnung(38, 50)
print(f"Deine Note: {note}")   # Deine Note: 2

Übungsaufgaben

Was ist der Unterschied zwischen print() und return in einer Funktion?

Antwort anzeigen
print() zeigt einen Wert auf dem Bildschirm an, aber das Ergebnis geht danach verloren — es kann nicht in einer Variable gespeichert oder weiterberechnet werden. return gibt den Wert an den Aufrufer zurück, wo er gespeichert oder weiterverwendet werden kann.

Was gibt der folgende Code aus? def doppelt(x): return x * 2 / ergebnis = doppelt(doppelt(3)) / print(ergebnis)

Antwort anzeigen
12. Zuerst wird doppelt(3) aufgerufen und gibt 6 zurück. Dann wird doppelt(6) aufgerufen und gibt 12 zurück. Schließlich wird 12 in der Variable ergebnis gespeichert und ausgegeben.