__call__这个类方法,在平常用的还是蛮多的。
举个例子说明其用法,代码如下:
#coding=utf-8
class CallTest(object):
def __init__(self):
print 'I am __init__'
def __call__(self):
print 'I am __call__'
return True
def run(self):
print 'I am run'
return True
obj = CallTest()
obj.run()
obj()
打印结果如下:
I am __init__
I am run
I am __call__
可以看到,obj这个对象被示例化出来,如果要调用__call__方法的话,直接obj(),即可调用并返回结果。obj就类似一个函数地址,obj()即执行这个函数。
结束!!!