介绍一下python __call__ 方法的使用

代码如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
__call__方法
普通的类定义的方法,由该类实例化的对象点( . )调用,
如上例中a.common_method(),而__call__方法调用形式,
则是直接实例对象跟( )调用,即a( )形式调用。

'''
class A(object):
    def common_method(self):
        print 'call common_method'
        return None

    def __call__(self):
        print 'call __call__'
        return None
a = A()
a.common_method()
a()

运行结果:

call common_method
call __call__