title: How can I assign a value to a function call?
body: <p>I try to build a class named "Point" representing 3d-coordinates (x,y,z).</p>
  
  <pre><code>class Point(object):
  
      def __init__(self):
          a = 3
          self.data = [[[bool(False) for x in xrange(a)] for y in xrange(a)] for z in xrange(a)]
  
      def __call__(self, x, y, z):
         return 'call :'+self.data[x][y][z]'
  </code></pre>
  
  <p>I can easily access a point:</p>
  
  <pre><code>p = Point()
  print p(1 ,1, 1)   # output : False`
  </code></pre>
  
  <p>BUT, I can't assign a value to this point !</p>
  
  <pre><code>p(1, 1, 0) = True  # SyntaxError: can't assign to function call
  </code></pre>
  
  <p>Any idea ?</p>