When should I implement __call__
<p>In python you can make instances callable by implementing the <code>__call__</code> method. For example </p>

<pre><code>class Blah:
    def __call__(self):
        print "hello"

obj = Blah()
obj()
</code></pre>

<p>But I can also implement a method of my own, say 'run':</p>

<pre><code>class Blah:
    def run(self):
        print "hello"

obj = Blah()
obj.run()
</code></pre>

<p>When should I implement <code>__call__</code>?</p>
