Comment spécifier plusieurs types de retour en Python avec des indications de type ?

Barbara Streisand
Libérer: 2024-11-25 08:22:11
original
909 Les gens l'ont consulté

How to Specify Multiple Return Types in Python with Type Hints?

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

Lorsque vous travaillez avec des fonctions qui peuvent renvoyer différents types de données, comme une liste ou un booléen, il est essentiel de spécifier correctement les types de retour attendus à l'aide d'indices de type. Cela contribue à améliorer la lisibilité du code et permet la vérification du type.

Utilisation de la syntaxe Python 3.10

À partir de Python 3.10, la méthode préférée pour spécifier plusieurs types de retour consiste à utiliser le tube ( |) opérateur pour créer un type d’union. La syntaxe est la suivante :

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

Dans cet exemple, la fonction foo() peut renvoyer soit une liste, soit une valeur booléenne.

Utilisation de typing.Union pour Python antérieur Versions

Pour les versions Python antérieures à 3.10, vous pouvez utiliser la classe typing.Union pour créer une union type :

from typing import Union

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

Application des indications de type

Il est important de noter que les indications de type ne sont pas appliquées en Python, ce qui signifie que la vérification du type à l'exécution n'est pas effectuée. Ils servent principalement d'outil descriptif lors du développement et de la documentation du code.

Exemple

Considérez le code suivant :

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

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

Dans cet exemple, même si la fonction est annotée pour renvoyer une liste, elle renvoie une chaîne. Cependant, l'annotation de type est toujours définie dans l'attribut __annotations__ :

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

Ressources supplémentaires

Pour plus d'informations sur les astuces de type, reportez-vous aux ressources suivantes :

  • PEP 483 : Indices de saisie
  • Que sont les indices de saisie 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