可调用对象

在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__方法

原文地址:https://www.cnblogs.com/tianshug/p/10921529.html