跳到主要内容

Python callable() 函数

callable() 的语法是:

callable(object)

callable() 参数

callable() 方法接受单个参数 object

callable() 的返回值

callable() 方法返回:

  • True - 如果对象看起来是可调用的
  • False - 如果对象不是可调用的。

重要的是要记住,即使 callable()True,调用对象也可能会失败。

然而,如果 callable() 返回 False,调用对象肯定会失败。

示例 1:callable() 是如何工作的?

x = 5
print(callable(x))

def testFunction():
print("测试")

y = testFunction
print(callable(y))

输出

False
True

这里,对象 x 不是可调用的。而对象 y 看起来是可调用的(但可能不是可调用的)。

示例 2:可调用对象

class Foo:
def __call__(self):
print('打印某些东西')

print(callable(Foo))

输出

True

Foo 类的实例看起来是可调用的(并且在这种情况下是可调用的)。

class Foo:
def __call__(self):
print('打印某些东西')

InstanceOfFoo = Foo()

# 打印 '打印某些东西'
InstanceOfFoo()

示例 3:对象看起来是可调用的但不是可调用的。

class Foo:
def printLine(self):
print('打印某些东西')

print(callable(Foo))

输出

True

Foo 类的实例看起来是可调用的,但它不是可调用的。以下代码将引发错误。

class Foo:
def printLine(self):
print('打印某些东西')

print(callable(Foo))

InstanceOfFoo = Foo()
# 引发错误
# 'Foo' 对象不是可调用的
InstanceOfFoo()

输出

True
Traceback (most recent call last):
File "", line 10, in
TypeError: 'Foo' 对象不是可调用的