Maison > développement back-end > Tutoriel Python > Comment puis-je spécifier plusieurs types de retour dans les astuces de type Python ?

Comment puis-je spécifier plusieurs types de retour dans les astuces de type Python ?

Susan Sarandon
Libérer: 2024-11-25 15:44:11
original
598 Les gens l'ont consulté

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

Spécification de plusieurs types de retour avec des indices de type

En Python, les fonctions peuvent parfois renvoyer différents types de données en fonction des paramètres d'entrée ou de la logique interne. Pour indiquer clairement les types de retour attendus, des indices de type peuvent être utilisés.

Utilisation du type Union

Depuis Python 3.10, le "|" L’opérateur peut être utilisé pour créer un type d’union. Cela permet de spécifier plusieurs types de retour, permettant la syntaxe suivante :

def foo(id) -> list | bool:
    ...
Copier après la connexion

Cela indique que la fonction foo peut renvoyer soit une liste, soit un booléen.

Utilisation de la saisie. Union

Pour les versions Python antérieures à 3.10, la construction typing.Union peut être utilisé :

from typing import Union

def foo(id) -> Union[list, bool]:
    ...
Copier après la connexion

Limitations des indications de type

Il est important de noter que les indications de type en Python ne sont pas appliquées au moment de l'exécution. Cela signifie que les annotations de type servent de guide lors du développement du code mais ne garantissent pas les types de retour réels.

Démonstration :

>>> def foo(a: str) -> list:
...     return "Works"
...

>>> foo(1)
'Works'
Copier après la connexion

Dans cet exemple, un entier est passé en argument à la fonction foo qui est annotée pour renvoyer une liste. Malgré la violation de l'annotation de type, la fonction renvoie une chaîne et s'exécute avec succès.

Cependant, l'attribut __annotations__ de la fonction reflétera toujours le type de retour attendu tel que spécifié dans l'annotation :

>>> foo.__annotations__
{'return': <class 'list'>, 'a': <class 'str'>}
Copier après la connexion

Pour Pour plus d'informations sur les astuces de type, reportez-vous à PEP 483 et Que sont les astuces de type dans Python 3.5 ??. Notez que cette fonctionnalité est disponible à partir de Python 3.5.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal