语句 "foo is callable" return false (with foo 是一个函数)

statement "foo is callable" return false (with foo is a function)

def foo():
    pass

函数是一个可调用对象,所以:

callable(foo) # return "True"

但是

foo is callable # return "False"

那么,foo is callable中的callable是什么意思?

callable 是一个测试其参数是否可以被调用的函数。要么因为它是一个函数,要么因为它是一个具有 __call__ 方法的对象。

foo is callable 测试 foocallable 是否是同一个对象。