title: When calling super() in a derived class, can I pass in self.__class__?
body: <p>I've recently discovered (via StackOverflow) that to call a method in a base class I should call:</p>
  
  <p><code>super([[derived class]], self).[[base class method]]()</code></p>
  
  <p>That's fine, it works.  However, I find myself often copying and pasting between classes when I make a change and frequently I forget to fix the derived class argument to the super() function.  </p>
  
  <p>I'd like to avoid having to remember to change the derived class argument.  Can I instead just use <code>self.__class__</code> as the first argument of the super() function?</p>
  
  <p>It seems to work but are there good reasons why I shouldn't do this?</p>