title: What does 'super' do in Python? - difference between super().__init__() and explicit superclass __init__()
body: <p>What's the difference between:</p>
  
  <pre><code>class Child(SomeBaseClass):
      def __init__(self):
          super(Child, self).__init__()
  </code></pre>
  
  <p>and:</p>
  
  <pre><code>class Child(SomeBaseClass):
      def __init__(self):
          SomeBaseClass.__init__(self)
  </code></pre>
  
  <p>I've seen <code>super</code> being used quite a lot in classes with only single inheritance. I can see why you'd use it in multiple inheritance but am unclear as to what the advantages are of using it in this kind of situation.</p>