<分区>
我是否正确假设所有函数(内置或用户定义的)都属于同一个类,但该类默认情况下似乎没有绑定(bind)到任何变量?
如何检查一个对象是否是一个函数?
我想我可以做到:
def is_function(x):
def tmp()
pass
return type(x) is type(tmp)
它看起来不太整洁,我什至不能 100% 确定它是完全正确的。
<分区>
我是否正确假设所有函数(内置或用户定义的)都属于同一个类,但该类默认情况下似乎没有绑定(bind)到任何变量?
如何检查一个对象是否是一个函数?
我想我可以做到:
def is_function(x):
def tmp()
pass
return type(x) is type(tmp)
它看起来不太整洁,我什至不能 100% 确定它是完全正确的。
最佳答案
在 python2 中:
callable(fn)
在 python3 中:
isinstance(fn, collections.Callable)
因为 Callable 是一个抽象基类,这等同于:
hasattr(fn, '__call__')
关于 python 3 : how to check if an object is a function?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4202301/