Maison > développement back-end > Tutoriel Python > Comment puis-je spécifier des types de fonctions dans les annotations Python à l'aide de « typing.Callable » ?

Comment puis-je spécifier des types de fonctions dans les annotations Python à l'aide de « typing.Callable » ?

Susan Sarandon
Libérer: 2024-11-30 20:55:13
original
302 Les gens l'ont consulté

How Can I Specify Function Types in Python Annotations Using `typing.Callable`?

Spécification des types de fonctions dans les annotations

Dans l'indication de type Python, l'expression du type d'une variable en tant que fonction est essentielle pour garantir l'exactitude du code. Malgré l'absence d'annotation explicite de type typing.Function, il existe une solution utilisant typing.Callable.

Utilisation de typing.Callable pour les types de fonctions

Comme l'a souligné @jonrsharpe out, typing.Callable nous permet de définir des types de fonctions dans les annotations. Par exemple :

from typing import Callable

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

Ici, la variable func est indiquée comme une fonction qui accepte n'importe quel nombre et type d'arguments et renvoie une valeur de n'importe quel type.

Spécifier Types d'entrée et de retour

Pour des annotations plus précises, nous pouvons spécifier davantage les types d'arguments d'entrée et le type de retour de la fonction. Prenons l'exemple suivant :

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

L'annotation correspondante serait :

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

Cela indique que la fonction accepte deux arguments entiers et renvoie un entier.

Syntaxe générale

En général, la syntaxe des annotations de type de fonction en Python est :

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

Où :

  • ParamType1, ..., ParamTypeN sont les types des arguments d'entrée
  • ReturnType est le type de la valeur de retour

En tirant parti de typing.Callable, nous pouvons spécifier efficacement les types de fonctions dans les annotations de type Python, améliorant ainsi lisibilité du code et garantie de l'exactitude du type.

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