Maison > développement back-end > Tutoriel Python > Comment spécifier des types de fonctions dans les astuces de type Python ?

Comment spécifier des types de fonctions dans les astuces de type Python ?

Barbara Streisand
Libérer: 2024-11-19 09:03:03
original
1064 Les gens l'ont consulté

How to Specify Function Types in Python Type Hints?

Spécification du type de fonction dans les indices de type

En Python, les indices de type sont utilisés pour fournir des métadonnées facultatives sur les types attendus de variables et de paramètres de fonction . Cependant, spécifier l'indice de type d'une variable comme type de fonction peut sembler flou.

La solution

Malgré l'absence de "typing.Function" dans le PEP 483, vous pouvez spécifier l'indice de type d'une variable en tant que type de fonction en utilisant "typing.Callable".

Implémentation

La syntaxe pour spécifier un type de fonction en utilisant "typing.Callable" est le suivant :

from typing import Callable

def my_function(func: Callable):
Copier après la connexion

Remarque : Callable seul équivaut à "Callable[..., Any]", ce qui signifie qu'il prend n'importe quel nombre et le type d'arguments et renvoie une valeur de n'importe quel type. Si cela est trop libre, vous pouvez spécifier davantage les types de liste d'arguments d'entrée et le type de retour.

Par exemple, pour une fonction qui prend deux entiers et renvoie un entier :

def sum(a: int, b: int) -> int: return a+b
Copier après la connexion

L'annotation de type correspondante serait :

Callable[[int, int], int]
Copier après la connexion

Syntaxe générale

La syntaxe générale pour spécifier un type de fonction à l'aide de "typing.Callable" est :

Callable[[ParamType1, ParamType2, ..., ParamTypeN], ReturnType]
Copier après la connexion

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