__call__():使一个实例对象成为一个可调用对象,就像函数那样可以调用。魔法方法。
可调用对象:函数、内置函数和类都是可调用对象,凡是可以把一对()应用到某个对象上都可以称之为可调用对象。
callable():判断对象是否是可调用对象,返回True或者False。
示例:
def func():
print('good afternoon')
func()
print(callable(func)) # 返回True,说明是可调用对象
__call__()在python中的使用方法:
class A:
def __call__(self, *args, **kwargs):
print('这是__call__()')
a = A()
a() # 调用一个可调用的实例对象,其实就是在调用它的__call__()方法
print(callable(a))
运行结果如图所示: