最近学习Python的时候,在Python3下跑《Dive Into Python》一个例子,发现在调用callable()函数时报了错误:
NameError: name 'callable' is not defined
上网一查发现Python3已经将此内置函数移除了。查阅Python v3.0 documentation发现可以使用
hasattr(object, name)内置函数来完成callable的功能,方式如下:
3.0之前:callable(func)
3.0之后:hasattr(func, '__call__')
这两者结果是相同的。