假设所有函数(内置的或用户定义的)都属于同一个类,但该类在默认情况下似乎没有绑定到任何变量,对吗?
如何判断对象是否为函数?
我想我能做到:
def is_function(x):
def tmp()
pass
return type(x) is type(tmp)
它看起来不整洁,我甚至不能100%确定它是否完全正确.
假设所有函数(内置的或用户定义的)都属于同一个类,但该类在默认情况下似乎没有绑定到任何变量,对吗?
如何判断对象是否为函数?
我想我能做到:
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__')