Angeben mehrerer Rückgabetypen mit Typhinweisen in Python
Mit den Typhinweisen von Python können Sie die erwarteten Datentypen für Funktionsparameter und Rückgabewerte angeben . Wenn eine Funktion mehrere Typen zurückgeben kann, stellt sich die Frage, wie dies in Typhinweisen genau dargestellt werden kann.
Union Type (Python 3.10 und höher)
In Python 3.10 und nachfolgende Versionen, das | Mit dem Operator kann ein Union-Typ erstellt werden. Dies ermöglicht eine prägnante und klare Notation für mehrere Rückgabetypen. Zum Beispiel:
def foo(client_id: str) -> list | bool:
Dies zeigt an, dass die foo-Funktion entweder eine Liste oder einen booleschen Wert zurückgeben kann.
Typing.Union (frühere Python-Versionen)
Für frühere Python-Versionen muss die typing.Union-Klasse verwendet werden:
from typing import Union def foo(client_id: str) -> Union[list, bool]:
Einschränkungen
Es ist wichtig zu beachten, dass Typhinweise in Python nicht vorhanden sind zur Laufzeit erzwungen. Daher dient es als Entwicklungshilfe und nicht als strenger Typprüfungsmechanismus. Funktionen können immer noch unerwartete Typen zurückgeben, wie unten beispielhaft dargestellt:
>>> def foo(a: str) -> list: ... return "Works" ... >>> foo(1) 'Works'
In diesem Fall gibt die Funktion zwar mit Anmerkungen zur Rückgabe einer Liste versehen, aber eine Zeichenfolge zurück. Das Attribut annotations spiegelt jedoch den beabsichtigten Rückgabetyp wider:
>>> foo.__annotations__ {'return': <class 'list'>, 'a': <class 'str'>}
Weitere Einzelheiten zu Typhinweisen in Python finden Sie in PEP 483. Für weitere Einblicke lesen Sie bitte „Was sind Typhinweise in Python 3.5??“ Mit diesen Techniken können Sie mehrere Rückgabetypen in Ihrem Python-Code genau angeben und so dessen Lesbarkeit und Wartbarkeit verbessern.
Das obige ist der detaillierte Inhalt vonWie geben Sie in Python mehrere Rückgabetypen mit Typhinweisen an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!