Heim  >  Artikel  >  Backend-Entwicklung  >  Wie überprüfe ich, ob eine Python-Variable eine Funktion ist?

Wie überprüfe ich, ob eine Python-Variable eine Funktion ist?

WBOY
WBOYnach vorne
2023-08-26 14:05:031345Durchsuche

Wie überprüfe ich, ob eine Python-Variable eine Funktion ist?

In diesem Artikel erfahren Sie, wie Sie erkennen, ob eine Python-Variable eine Funktion ist.

Manchmal ist es wichtig festzustellen, ob eine Python-Variable eine Funktion ist. Dies mag wertlos erscheinen, wenn es Tausende von Codezeilen gibt und Sie nicht der Ersteller des Codes sind und Sie sich fragen, ob eine Variable eine Funktion ist.

Verwendete Methoden

So überprüfen Sie, ob eine Python-Variable eine Funktion ist:

  • Verwenden Sie die integrierte Funktion callable()

  • Verwenden Sie die isfunction()-Methode des Inspektionsmoduls

  • Verwenden Sie die Funktion type()

  • Verwenden Sie die integrierte hasattr()-Funktion

  • Verwenden Sie die Funktion isinstance()

Methode 1: Verwendung der integrierten Funktion callable()

Die Funktion callable() gibt ein boolesches Ergebnis zurück. Sie gibt True zurück, wenn die Funktion aufrufbar ist, andernfalls gibt sie False zurück.

Syntax

callable(object)

Algorithmus (Schritte)

Im Folgenden sind die Algorithmen/Schritte aufgeführt, die zur Ausführung der gewünschten Aufgabe befolgt werden müssen

  • Erstellen Sie eine beliebige Zufallsfunktion. Die Funktion hier gibt das Ergebnis der Addition der beiden ihr übergebenen Zahlen zurück.

  • Verwenden Sie das Schlüsselwort

    return, um die Summe der beiden übergebenen Zahlen zurückzugeben.

  • Verwenden Sie die Funktion

    callable(), um zu überprüfen, ob das übergebene Objekt (d. h. die Addition) eine Funktion ist oder NICHT. Es gibt True zurück, wenn es eine Funktion ist, andernfalls False.

  • Erstellen Sie eine Variable, um die eingegebene Zahl zu speichern.

  • Überprüfen Sie auf ähnliche Weise, ob die Variable

    'Nummer' eine Funktion ist oder nicht, indem Sie die Funktion callable() verwenden.

Beispiel

Das folgende Programm prüft, ob eine Python-Variable eine Funktion ist oder nicht, indem es die integrierte Funktion callable() verwendet −

# 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))

Ausgabe

Bei der Ausführung generiert das obige Programm die folgende Ausgabe:

True
False

Methode 2: Verwenden Sie die Funktion isfunction() des Inspektionsmoduls

Mit der Funktion

isfunction()

des Moduls inspect kann ermittelt werden, ob eine Variable eine Funktion ist. Wenn es sich um eine Funktion handelt, gibt sie einen booleschen Wert True zurück, andernfalls gibt sie False zurück.

Um dies nutzen zu können, müssen Sie außerdem zunächst isfunction aus dem Inspect-Modul importieren, bevor Sie es verwenden können, um einen booleschen Wert zu erhalten.

Beispiel

Das folgende Programm verwendet die Funktion isfunction() des Inspect-Moduls, um zu prüfen, ob eine Python-Variable eine Funktion ist.

# 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))

Ausgabe

Bei der Ausführung generiert das obige Programm die folgende Ausgabe:

True
False

Methode 3: Verwenden der Funktion type()

Die Funktion type() identifiziert den Typ eines Objekts, sodass wir basierend darauf, ob das Objekt vom Funktionstyp ist, bestimmen können, ob es aufrufbar ist oder nicht.

Einfach ausgedrückt gibt die Funktion

type() den Datentyp eines Objekts zurück.

Beispiel

Das folgende Programm verwendet die Funktion type(), um zu prüfen, ob eine Python-Variable eine Funktion ist oder nicht.

# 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))

Ausgabe

Bei der Ausführung generiert das obige Programm die folgende Ausgabe:

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

Methode 4: Verwendung der integrierten hasattr()-Funktion

Die

hasattr() ist eine Funktion, die den Typ eines Objekts identifiziert, sodass wir feststellen können, ob dieser Objekttyp eine Funktion ist oder nicht. Auf die gleiche Weise wie callable() gibt sie auch einen booleschen Wert zurück.

Beispiel

Das folgende Programm prüft mithilfe der integrierten hasattr()-Funktion −

, ob eine Python-Variable eine Funktion ist oder nicht

# 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__'))

Ausgabe

Bei der Ausführung generiert das obige Programm die folgende Ausgabe:

True
False

Methode 5: Verwenden Sie die Funktion isinstance()

Die

isinstance() ist eine Funktion, die den Typ eines Objekts identifiziert, sodass wir feststellen können, ob es sich bei diesem Objekt um eine Funktion handelt oder nicht. Sie gibt einen booleschen Wert zurück.

Beispiel

Das folgende Programm prüft, ob eine Python-Variable eine Funktion ist oder nicht, indem es die Funktion isinstance() verwendet −

# 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))

Ausgabe

Bei der Ausführung generiert das obige Programm die folgende Ausgabe:

True
False

Fazit

In diesem Artikel lernen wir fünf verschiedene Möglichkeiten kennen, um festzustellen, ob eine Eingabevariable vom Funktionstyp ist. Wir sind auch mit den Funktionen hasattr() und isinstance() vertraut, mit deren Hilfe wir feststellen können, ob zwei Variablen vom gleichen Typ sind.

Das obige ist der detaillierte Inhalt vonWie überprüfe ich, ob eine Python-Variable eine Funktion ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen