Wie kann ich in Python-Typhinweisen mehrere Rückgabetypen angeben?

Susan Sarandon
Freigeben: 2024-11-25 15:44:11
Original
520 Leute haben es durchsucht

How Can I Specify Multiple Return Types in Python Type Hints?

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:
    ...
Nach dem Login kopieren

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]:
    ...
Nach dem Login kopieren

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'
Nach dem Login kopieren

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'>}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage