title: Does python copy objects on assignment?
body: <p>I read that the assign in python does not copy it works like it does in c where it assigns a pointer to an object. </p>
  
  <p>But when I debug this function:</p>
  
  <pre><code>def popall(self):
      objs = self.curstack
      self.curstack = []
      return objs
  </code></pre>
  
  <p>It looks like some kind of copy is taking place. After this function runs obis is full of things and <strong><code>self.curstack</code></strong> is empty…</p>
  
  <p>So some copy is going on. Is it deep or shallow? </p>