python 给类提供了名为__call__的特别方法,该方法允许程序员创建可调用的对象(实例)
默认情况下,__call__() 方法是没有实现的,这意味着大多数实例都是不可调用的。
class C(object):
def __call__(self, *args):
print "I'm callable! Called with args:
", args
a=C()
print a
print callable(a)
C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/eeeee/a15.py
<__main__.C object at 0x025A7C30>
True
class C(object):
def __init__(self, *args):
print "I'm callable! Called with args:
", args
a=C()
print a
print callable(a)
C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/eeeee/a15.py
I'm callable! Called with args:
()
<__main__.C object at 0x02477C30>
False