在python中可以用callable
函数查看一个对象是不是可调用
1 def fn(): 2 print('ha ha ha') 3 4 callable(fn) 5 True
一个类被实例化后,这个实例对象是一个不可调用对象
1 class Fun: 2 def __init__(self,name): 3 self.name = name 4 5 f = Fun('zhaochj') 6 callable(f) 7 False
只要一个类中实现了__call__
方法,那么类实例就是一个可调用对象
1 class Fun_1: 2 def __init__(self,name): 3 self.name = name 4 5 def __call__(self): 6 print('my name is {0}'.format(self.name)) 7 8 f1 = Fun_1('zhaochj') 9 callable(f1) 10 True
1 f1() 2 my name is zhaochj
调用此实例对象也就是执行了__call__
方法