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

Comment vérifier si une variable Python est une fonction ?

WBOY
WBOYavant
2023-08-26 14:05:031312parcourir

Comment vérifier si une variable Python est une fonction ?

Dans cet article, nous apprendrons comment détecter si une variable Python est une fonction.

Parfois, il est important de déterminer si une variable Python est une fonction. Cela peut sembler inutile lorsqu'il y a des milliers de lignes de code et que vous n'êtes pas le créateur du code, et que vous pouvez vous demander si une variable est une fonction.

Méthodes utilisées

Voici comment vérifier si une variable Python est une fonction :

  • Utilisez la fonction callable() intégrée

  • Utilisez la méthode isfunction() du module inspect

  • Utilisez la fonction type()

  • Utilisez la fonction hasattr() intégrée

  • Utilisez la fonction isinstance()

Méthode 1 : Utilisation de la fonction callable() intégrée

La fonction callable() renvoie un résultat booléen. Elle renvoie True si la fonction est appelable, sinon elle renvoie False.

.

Syntaxe

callable(object)

Algorithme (étapes)

Voici les algorithmes/étapes à suivre pour effectuer la tâche souhaitée −

.
  • Créez n'importe quelle fonction aléatoire. La fonction renvoie ici le résultat de l'addition des deux nombres qui lui sont transmis.

  • Utilisez le mot-clé return pour renvoyer la somme des deux nombres transmis.

  • Utilisez la fonction callable() pour vérifier si l'objet transmis (c'est-à-dire l'addition) est une fonction ou NON. Il renvoie True s'il s'agit d'une fonction sinon False.

  • .
  • Créez une variable pour stocker le numéro saisi.

  • De même, vérifiez si la variable 'number' est une fonction ou non en utilisant la fonction callable().

Exemple

Le programme suivant vérifie si une variable python est une fonction ou non à l'aide de la fonction callable() intégrée −

# creating a function that returns the addition 
# of 2 numbers passed to it
def addition(p, q):
   # returning the sum of the given two numbers(arguments) 
      return p+q

# using the callable() function to check whether 
# the variable 'addition' is a function 
# it returns True if it is a function else False
print(callable(addition))
number = 10
# checking whether the variable 'number' is a function
print(callable(number))

Sortie

Une fois exécuté, le programme ci-dessus générera le résultat suivant -

True
False

Méthode 2 : Utilisez la fonction isfunction() du module inspect

La fonction

isfunction() du module inspect peut être utilisée pour déterminer si une variable est une fonction. S'il s'agit d'une fonction, elle renvoie une valeur booléenne True, sinon elle renvoie False.

De plus, pour utiliser cela, vous devez d'abord importer la fonction du module inspecter avant de l'utiliser pour obtenir une valeur booléenne.

Exemple

Le programme suivant utilise la fonction isfunction() du module inspect pour vérifier si une variable Python est une fonction.

# importing isfunction from inspect module
from inspect import isfunction

# creating a function that returns the addition 
# of 2 numbers passed to it
def addition(p, q):
   # returning the sum of the given two numbers(arguments)
      return p+q
 
# using the isfunction() function to check whether 
# the variable 'addition' is a function or not 
# it returns True if it is a function else False
print(isfunction(addition)) 
number = 10

print(isfunction(number))

Sortie

Une fois exécuté, le programme ci-dessus générera le résultat suivant -

True
False

Méthode 3 : Utilisation de la fonction type()

La fonction type() identifie le type d'un objet afin que nous puissions déterminer s'il est appelable ou non selon que l'objet est du type fonction.

En termes simples, la fonction type() renvoie le type de données d'un objet.

Exemple

Le programme suivant utilise la fonction type() pour vérifier si une variable python est une fonction ou non.

# creating a function that returns the addition 
# of 2 numbers passed to it
def addition(p, q):
   # returning the sum of the given two numbers(arguments) 
      return p+q
 
# checking the type of the variable by passing 
# the variable as an argument to it
print(type(addition))
# given Variable
number = 10

print(type(number))

Sortie

Une fois exécuté, le programme ci-dessus générera le résultat suivant -

<class 'function'>
<class 'int'>

Méthode 4 : Utilisation de la fonction hasattr() intégrée

Le hasattr() est une fonction qui identifie le type d'un objet afin que nous puissions déterminer si ce type d'objet est ou non une fonction. De la même manière que callable(), elle renvoie également une valeur booléenne.

Exemple

Le programme suivant vérifie si une variable python est une fonction ou non à l'aide de la fonction hasattr() intégrée −

# creating a function that returns the addition 
# of 2 numbers passed to it
def addition(p, q):
   # returning the sum of the given two numbers(arguments)
   return p+q
 
# checking whether the type of variable 'addition' 
# is a function or not using hasattr() function
# it returns True if it is a function else False
print(hasattr(addition, '__call__'))
number = 10
# checking whether the variable 'number' is a function or not
print(hasattr(number, '__call__'))

Sortie

Une fois exécuté, le programme ci-dessus générera le résultat suivant -

True
False

Méthode 5 : Utiliser la fonction isinstance()

Le isinstance() est une fonction qui identifie le type d'un objet afin que nous puissions déterminer si cet objet est ou non une fonction. Il renvoie une valeur booléenne.

Exemple

Le programme suivant vérifie si une variable python est une fonction ou non en utilisant la fonction isinstance() −

# importing the types module
import types

# creating a function that returns the addition 
# of 2 numbers passed to it
def addition(p, q):
   # # returning the sum of the given two numbers(arguments) 
   return p+q

# passing object,  types.FunctionType as an argument to the 
# isinstance() function to check whether it is a function or not
print(isinstance(addition, types.FunctionType))
number = 10
# checking whether the above variable 'number' is a function or not
print(isinstance(number, types.FunctionType))

Sortie

Une fois exécuté, le programme ci-dessus générera le résultat suivant -

True
False

Conclusion

Cet article nous apprend cinq façons différentes de déterminer si une variable d'entrée est de type fonction. Nous connaissons également les fonctions hasattr() et isinstance(), qui peuvent nous aider à déterminer si deux variables sont du même 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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer