title: In python 2.x should I call object.__del__?
body: <p>In Python 3.x all classes are subclasses of <code>object</code>. In 2.x you have to explicitly state <code>class MyClass(object)</code>. And, as I'm trying to write as much 3.x compatible code as possible, I'm subclassing <code>object</code>. </p>
  
  <p>In my program, I'm using the <code>__del__</code> method, and I wanted to know if I should be calling <code>object.__del__(self)</code>, or if that's magically taken care of?</p>
  
  <p>Thanks,
  Wayne</p>
  
  <p>EDIT:
  It appears there is some confusion what I mean - in the documents it states:</p>
  
  <blockquote>
    <p>If a base class has a <code>__del__()</code> method, the derived class’s <code>__del__()</code> method, if any, must explicitly call it to ensure proper deletion of the base class part of the instance.</p>
  </blockquote>
  
  <p>So I wanted to know if I needed:</p>
  
  <pre><code>def __del__(self):
      object.__del__(self)
  </code></pre>
  
  <p>or some suitable alternative.</p>