HOWTO · Python

Mehrere Werte aus einer Funktion in Python zurückgeben

Dieses Tutorial demonstriert, wie man in Python mehrere Werte aus einer Funktion zurückgibt

Auf dieser Seite

Funktionen sind ein wesentlicher Bestandteil jeder Programmiersprache. Eine Funktion ist ein Codeblock, der aufgerufen werden kann, um eine bestimmte Operation in der Programmierung durchzuführen. Normalerweise wird eine Funktion verwendet, um einen Wert zurückzugeben. Dieser Wert kann eine Zahl, eine Zeichenkette oder ein beliebiger anderer Datentyp sein.

In diesem Lernprogramm werden wir verschiedene Methoden besprechen, um eine Funktion zu erstellen, die mehrere Werte zurückgibt. Wir werden verschiedene Datenobjekte wie eine Liste, ein Dictionary und andere Objekte aus einer benutzerdefinierten Funktion zurückgeben, um dies zu erreichen.

Ein Tupel verwenden, um mehrere Werte aus einer Funktion in Python zurückzugeben

Wenn wir Werte aus einer Funktion durch ein Komma getrennt zurückgeben, werden sie als Tupel bezeichnet. Tupel werden normalerweise in Klammern eingeschlossen. Im folgenden Code geben wir ein Tupel aus einer Python-Funktion zurück.

def return_multi(a):
    b = a + 1
    c = a + 2
    return b, c


x = return_multi(5)
print(x, type(x))

Ausgabe:

(6, 7) <class 'tuple'>

Eine Liste verwenden, um mehrere Werte aus einer Funktion in Python zurückzugeben

Python-Listen werden verwendet, um verschiedene Elemente unter einem gemeinsamen Namen und an bestimmten Positionen zu speichern. Funktionen können auch mehrere Werte in einer Liste zurückgeben, wie unten gezeigt.

def return_multi(a):
    b = a + 1
    c = a + 2
    return [b, c]


x = return_multi(5)
print(x, type(x))

Ausgabe:

[6, 7] <class 'list'>

Ein Dictionary verwenden, um mehrere Werte aus einer Funktion in Python zurückzugeben

Dictionaries werden verwendet, um Schlüssel-Wert-Paare in Python zu speichern. Wir können die endgültige Ausgabe in einem viel organisierteren Format haben, indem wir ein Dictionary von einer Funktion zurückgeben, dessen Schlüssel verschiedenen Werten zugeordnet sind. Siehe das folgende Beispiel.

def return_multi(a):
    b = a + 1
    c = a + 2
    return {"b": b, "c": c}


x = return_multi(5)
print(x, type(x))

Ausgabe:

{'b': 6, 'c': 7} <class 'dict'>

Eine Klasse verwenden, um mehrere Werte von einer Funktion in Python zurückzugeben

Klassen enthalten verschiedene Datenmitglieder und Funktionen und erlauben uns, Objekte zu erstellen, um auf diese Mitglieder zuzugreifen. Wir können ein Objekt solcher benutzerdefinierten Klassen auf der Grundlage der Klassenstruktur und ihrer Datenmitglieder zurückgeben. Ein Beispiel:

class return_values:
    def __init__(self, a, b):
        self.a = a
        self.b = b


def return_multi(a):
    b = a + 1
    c = a + 2
    t = return_values(b, c)
    return t


x = return_multi(5)
print(x.a, x.b, type(x))

Ausgabe:

6 7 <class '__main__.return_values'>

Verwenden einer dataclass, um mehrere Werte von einer Funktion in Python zurückzugeben

Eine dataclass ist eine neue interessante Funktion, die in Python v3.7 und höher hinzugefügt wurde. Sie ähneln traditionellen Klassen, werden aber hauptsächlich zum Speichern von Daten verwendet und alle ihre Grundfunktionen sind bereits implementiert. Der Dekorator @dataclass und das Modul dataclass werden verwendet, um solche Objekte zu erzeugen. Im folgenden Code geben wir eine dataclass aus einer Funktion zurück.

from dataclasses import dataclass


@dataclass
class return_values:
    a: int
    b: int


def return_multi(a):
    b = a + 1
    c = a + 2
    t = return_values(b, c)
    return t


x = return_multi(5)
print(x.a, x.b, type(x))

Ausgabe:

6 7 <class '__main__.return_values'>