callable() 是一个bool函数,可以确定一个对象是否可以通过操作符()来调用,如果函数可以调用,返回True,否则返回False
注意类是callable的,因为调用类将会返回有一个新的实例。如果类的实例实现了__call__()方法,那么该实例也是callable的。
一个可callable的对象是指可以被调用执行的对象,并且可以传入参数, 用另一个简单的描述方式,只要可以在一个对象的后面使用小括号来执行代码,那么这个对象就是callable对象,下面列举callable对象的种类
函数
类
类里的函数
实现了__call__方法的实例对象
函数
def test():
print('ok')
print(callable(test)) # True
test() # ok函数是python里的一等公民,函数是可调用对象,使用callable函数可以证明这一点
类
class Stu(object):
def __init__(self, name):
self.name = name
print(callable(Stu)) # True
print(Stu('小明').name) # 小明在其他编程语言里,类与函数可以说是两个完全不搭的东西,但在python里,都是可调用对象。