Maison >développement back-end >Tutoriel Python >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.
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()
La fonction callable() renvoie un résultat booléen. Elle renvoie True si la fonction est appelable, sinon elle renvoie False.
.callable(object)
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().
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))
Une fois exécuté, le programme ci-dessus générera le résultat suivant -
True False
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.
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))
Une fois exécuté, le programme ci-dessus générera le résultat suivant -
True False
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.
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))
Une fois exécuté, le programme ci-dessus générera le résultat suivant -
<class 'function'> <class 'int'>
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.
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__'))
Une fois exécuté, le programme ci-dessus générera le résultat suivant -
True False
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.
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))
Une fois exécuté, le programme ci-dessus générera le résultat suivant -
True False
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!