__init__と__call__ってどう違うのかなと思ったけどわかった。
class Foo:
def __init__(self):
print 'init'
def __call__(self):
print 'call'
Foo()()
init
call
__init__はクラスがインスタンス化される時に呼ばれて、__call__はインスタンスが呼ばれた時に動くんですね。
この間書いた、RubyのFoo()とか使ってると混乱するわ!