title: can you recover from reassigning __builtins__ in python?
body: <p>If I open up interactive mode and type:</p>
  
  <pre><code>__builtins__ = 0 # breaks everything
  </code></pre>
  
  <p>have I completely broken the session? If so, what is going on behind the scenes to assign __builtins__ to the builtin module that can't be handled by the interpreter? If not, how can I recover from this?</p>
  
  <p>Just a few of my own attempts to fix it:</p>
  
  <ul>
  <li>Any attempt to import anything results in an error "ImportError __import__ not found"</li>
  <li>all functions I might use to do anything other than evaluate numerical expressions are broken</li>
  <li>There is another variable __package__ still accessible, but I don't know if/how it can be used.</li>
  </ul>