Maison  >  Article  >  développement back-end  >  Comment déterminer si une variable est une fonction en Python ?

Comment déterminer si une variable est une fonction en Python ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-18 20:07:31901parcourir

How to Determine if a Variable is a Function in Python?

Vérifier si une variable est une fonction

Pour vérifier si une variable fait référence à une fonction, Python propose plusieurs approches.

Fonction appelable

Pour Python 2.x et Python 3.2, la fonction callable() peut être utilisée :

<code class="python">callable(obj)</code>

call Attribut

Dans Python 3.x antérieur à 3.2, vérifiez si l'objet possède un attribut call :

<code class="python">hasattr(obj, '__call__')</code>

Avertissements de Autres méthodes

L'utilisation de types.FunctionTypes ou inspect.isfunction, qui effectuent essentiellement la même tâche, comporte certaines mises en garde. Ces approches donnent False pour les fonctions non Python, y compris la plupart des fonctions intégrées implémentées en C :

<code class="python">>>> isinstance(open, types.FunctionType)
False
>>> callable(open)
True</code>

Par conséquent, il est conseillé d'utiliser callable() ou hasattr() pour vérifier la présence de l'appel attribut, déterminant efficacement si un objet peut être appelé en tant que fonction.

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