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!