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

Wie überprüfe ich, ob eine Variable in Python auf eine Funktion verweist?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-18 20:04:03413Durchsuche

How to Check if a Variable Refers to a Function in Python?

Funktionsvariablen in Python erkennen

Sie haben eine Variable mit dem Namen „x“ und möchten feststellen, ob sie auf eine Funktion zeigt. Während die Überprüfung des Typs von „x“ zeigt, dass es sich um eine Funktion handelt, schlägt der Versuch, isinstance(x, function) zu verwenden, fehl. Hier kommt callable() ins Spiel.

Python 2.x und Python 3.2 :

callable(x)

Python 3.x vor 3.2:

hasattr(x, '__call__')

Frühere Ansätze wie „types.FunctionTypes“ oder „inspect.isfunction“ haben Einschränkungen. Sie geben „False“ für Nicht-Python-Funktionen zurück, wie z. B. integrierte Funktionen, die in C implementiert sind.

Anstatt den Typ zu überprüfen oder in einen Container zu passen, ist es am besten, das Objekt zu „fragen“, ob es von aufgerufen werden kann Suche nach dem Attribut call. Dies gewährleistet eine genaue Identifizierung von Funktionen, unabhängig von ihrer Implementierung.

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn