Maison >développement back-end >Tutoriel Python >Comment vérifier si une variable fait référence à une fonction en 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!