Angeben mehrerer Rückgabetypen mit Typhinweisen
In Python können Funktionen manchmal basierend auf den Eingabeparametern oder der internen Logik unterschiedliche Datentypen zurückgeben. Um die erwarteten Rückgabetypen klar anzugeben, können Typhinweise verwendet werden.
Verwendung des Union-Typs
Seit Python 3.10 wird das „|“ Mit dem Operator kann ein Union-Typ erstellt werden. Dadurch können mehrere Rückgabetypen angegeben werden, wodurch die folgende Syntax ermöglicht wird:
def foo(id) -> list | bool: ...
Dies bedeutet, dass die Funktion foo entweder eine Liste oder einen booleschen Wert zurückgeben kann.
Verwendung von Typisierung. Union
Für Python-Versionen vor 3.10 kann das typing.Union-Konstrukt sein verwendet:
from typing import Union def foo(id) -> Union[list, bool]: ...
Einschränkungen von Typhinweisen
Es ist wichtig zu beachten, dass Typhinweise in Python zur Laufzeit nicht erzwungen werden. Das bedeutet, dass Typanmerkungen als Leitfaden während der Codeentwicklung dienen, aber nicht die tatsächlichen Rückgabetypen garantieren.
Demonstration:
>>> def foo(a: str) -> list: ... return "Works" ... >>> foo(1) 'Works'
In diesem Beispiel wird eine Ganzzahl als Argument an übergeben die Funktion foo, die mit Anmerkungen versehen ist, um eine Liste zurückzugeben. Trotz Verstoßes gegen die Typanmerkung gibt die Funktion eine Zeichenfolge zurück und wird erfolgreich ausgeführt.
Das __annotations__-Attribut der Funktion spiegelt jedoch weiterhin den erwarteten Rückgabetyp wider, wie in der Anmerkung angegeben:
>>> foo.__annotations__ {'return': <class 'list'>, 'a': <class 'str'>}
Für Weitere Informationen zu Typhinweisen finden Sie unter PEP 483 und Was sind Typhinweise in Python 3.5??. Beachten Sie, dass diese Funktion ab Python 3.5 verfügbar ist.
Das obige ist der detaillierte Inhalt vonWie kann ich in Python-Typhinweisen mehrere Rückgabetypen angeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!