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: # ...
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]: # ...
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'
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'>}
Ressources supplémentaires
Pour plus d'informations sur les astuces de type, reportez-vous aux ressources suivantes :
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!