title: Is it possible to overload Python assignment?
body: <p>Is there a magic method that can overload the assignment operator, like <code>__assign__(self, new_value)</code>?</p>
  
  <p>I'd like to forbid a re-bind for an instance:</p>
  
  <pre><code>class Protect():
    def __assign__(self, value):
      raise Exception("This is an ex-parrot")
  
  var = Protect()  # once assigned...
  var = 1          # this should raise Exception()
  </code></pre>
  
  <p>Is it possible? Is it insane? Should I be on medicine?</p>