
Dieser Artikel genau, wie Sie mehrere Werte von einer Funktion in Python zurückgeben.
- Geben Sie mehrere Werte mit Kommas zurück
- Rückgabeliste
Siehe den following Artikel für die Grundlagen von Funktionen in Python.
Geben Sie mehrere Werte mit Kommas zurück
In Python können Sie mehrere Werte zurückgeben, aber Sie einfach durch Kommas getrennt zurückgeben.
Definieren Sie als Beispiel eine Funktion, die eine Zeichenfolge und eine ganze Zahl wie folgt zurückgibt:
def test():
return 'abc', 100
In Python Werden durch Kommas getrennte Werte als Tupel ohne Klammern betrachtet, sofern dies nicht durch die Syntax erforderlich ist. Aus diesem Grund gibt die Funktion im Beispielbeispiel ein Tupel mit jedem Wert als Element zurück.
Beachten Sie, dass es eigentlich das Komma ist, das ein Tupel ergibt, nicht die Klammern. Die Klammern sind optional, außer im leeren Tupelfall oder wenn sie benötigt werden, um syntaktische Mehrdeutigkeit zu vermeiden.
Eingebaute Typen – Tupel – Dokumentation zu Python 3.7.4
result = test()
print(result)
print(type(result))
# ('abc', 100)
# <class 'tuple'>
Jedes Element hat einen in der Funktion definierten Typ.
print(result[0])
print(type(result[0]))
# abc
# <class 'str'>
print(result[1])
print(type(result[1]))
# 100
# <class 'int'>
Natürlich führt die Angabe eines Index, der die Anzahl der angelegten Rückgabewerte überschreitet, zu einem Fehler.
# print(result[2])
# IndexError: tuple index out of range
Sie können mehrere Rückgabewerte entpacken und verschiedene Variablen zuweisen.
a, b = test()
print(a)
# abc
print(b)
# 100
Gleiches gilt für drei oder mehr Rückgabewerte.
def test2():
return 'abc', 100, [0, 1, 2]
a, b, c = test2()
print(a)
# abc
print(b)
# 100
print(c)
# [0, 1, 2]
Rückgabeliste
Die Verwendung von [] gibt eine Liste anstelle eines Tupels zurück.
def test_list():
return ['abc', 100]
result = test_list()
print(result)
print(type(result))
# ['abc', 100]
# <class 'list'>