Mehrere Werte in Python zurückgeben: Einfacher Leitfaden
Mit Python können wir mehrere Werte auf einmal zurückgeben. Offensichtlich geben die meisten Funktionen einen einzelnen Wert zurück, meist das Ergebnis der Funktionsarbeit. In diesem Artikel lernen Sie, dass Python auch mehrere Werte zurückgeben kann – ohne Dictionary, Liste oder Data Class.
Mehrere Werte mit Tupel zurückgeben
Einfach Ihre Werte nach dem return-Statement, durch Kommas getrennt, auflisten. Beispiel für Rückgabe und gleichzeitige Zuweisung an mehrere Variablen:
def get_user(id):
# User aus DB holen
# ...
return name, birthdate
name, birthdate = get_user(4)
Was wir hier tun: Ein Tupel zurückgeben. return (name, birthdate) hätte gleichen Effekt. Und ja, Sie können mehr als zwei Werte so zurückgeben!
Offensichtlicher Vorteil: Ergebnis direkt in mehrere Variablen entpacken. Super clean und knapp, wie Python sein soll.
Alternative Wege in Python für mehrere Rückgabewerte
Tupel zur Rückgabe mehrerer Werte ist okay für begrenzte Anzahl. Da wir direkt in klar benannte Variablen entpacken, ergibt sich sehr lesbarer, knapper Code.
Ab 2–3 Werten sollten Sie aber eine Data Class in Betracht ziehen, um Code sauber und lesbar zu halten. Data Class ist im Grunde eine reguläre Klasse, annotiert mit @dataclass für praktische Extra-Features.
Falls Data Class keine Option (z. B. ältere Python-Version), können Sie auch zurückgeben:
- ein Python Dictionary,
- eine Python Liste,
- oder eine reguläre Klasse (Objekt).
Was am besten ist, hängt von den Daten ab. Passt in Liste: Liste. Keys und Values: Dictionary. Komplexer: Mehrere Listen in Dictionary. Irgendwann wird (Data) Class sauberer.
Weiterlernen
- Alles über Python Tupel und Dictionaries
- Meine Einführung in Funktionen
- Fortgeschrittene Python-Funktionen-Tricks in unserem Python Functions Deep Dive
Python
- Python-Datentypen meistern: Praxisleitfaden
- Python-Operatoren meistern: Umfassender Leitfaden
- Python pass-Statement meistern: Praxisleitfaden
- Python-Funktionsargumente meistern: Positional, Keyword & Default-Parameter
- Python-Dictionaries meistern: Erstellung, Manipulation und fortgeschrittene Techniken
- Python Iteratoren meistern: Funktionsweise und Erstellung eigener Iteratoren
- Python Closures erklärt: Wie verschachtelte Funktionen Variablen erfassen
- Python datetime meistern: Praktischer Leitfaden zu Datumsangaben, Zeiten und Zeitzonen
- Pythons time.sleep() meistern: Best Practices, Multithreading und Praxisbeispiele
- Pythons yield meistern: Generator vs. Return – Ein praktischer Leitfaden