title: Understanding Python super() with __init__() methods
body: <p>Why is <code>super()</code> used?</p>
  <p>Is there a difference between using <code>Base.__init__</code> and <code>super().__init__</code>?</p>
  <pre><code>class Base(object):
      def __init__(self):
          print &quot;Base created&quot;
          
  class ChildA(Base):
      def __init__(self):
          Base.__init__(self)
          
  class ChildB(Base):
      def __init__(self):
          super(ChildB, self).__init__()
          
  ChildA() 
  ChildB()
  </code></pre>