在 Python 中检测函数变量
您有一个名为“x”的变量,并且想要确定它是否指向函数。虽然检查“x”的类型显示它是一个函数,但尝试使用 isinstance(x, function) 失败。这就是 callable() 派上用场的地方。
Python 2.x 和 Python 3.2 :
callable(x)
3.2 之前的 Python 3.x:
hasattr(x, '__call__')
以前的方法(如 types.FunctionTypes 或spect.isfunction)有局限性。对于非 Python 函数,例如用 C 实现的内置函数,它们返回 False。
与其检查类型或适合容器,不如“询问”对象是否可以通过以下方式调用:寻找 call 属性。这确保了函数的准确识别,无论其实现如何。
以上是如何检查Python中的变量是否引用函数?的详细内容。更多信息请关注PHP中文网其他相关文章!