title: Why does assigning to True/False not work as I expect?
body: <p>As part of answering another question, I wrote the following code whose behaviour seems bizarre at first glance:</p>
  
  <pre><code>print True                    # outputs true
  True = False;    print True   # outputs false
  True = True;     print True   # outputs false
  True = not True; print True   # outputs true
  </code></pre>
  
  <p>Can anyone explain this strange behaviour? I think it has something to do with Python's object model but I'm not sure.</p>
  
  <p>It's version 2.5.2 under Cygwin.</p>