Maison >développement back-end >Tutoriel Python >Comment vérifier si une variable fait référence à une fonction en Python ?

Comment vérifier si une variable fait référence à une fonction en Python ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-18 20:04:03560parcourir

How to Check if a Variable Refers to a Function in Python?

Détection des variables de fonction en Python

Vous avez une variable nommée "x" et souhaitez déterminer si elle pointe vers une fonction. Bien que la vérification du type de "x" montre qu'il s'agit d'une fonction, la tentative d'utilisation de isinstance(x, function) échoue. C'est là que callable() est utile.

Python 2.x et Python 3.2 :

callable(x)

Python 3.x avant 3.2 :

hasattr(x, '__call__')

Les approches précédentes comme types.FunctionTypes ou inspect.isfunction ont des limites. Ils renvoient False pour les fonctions non Python, telles que les fonctions intégrées, qui sont implémentées en C.

Au lieu de vérifier le type ou de s'insérer dans un conteneur, il est préférable de "demander" à l'objet s'il peut être appelé par en recherchant l'attribut call. Cela garantit une identification précise des fonctions, quelle que soit leur mise en œuvre.

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!

Déclaration:
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