title: Super init vs. parent.__init__
body: <p>A Python subclass can be initialized with or without a call to <code>super()</code>, as shown below</p>
  
  <pre><code>class Parent(object):
      ...
  
  class Child(Parent):
  
      def __init__(self):
          super(Child, self).__init__()
  
  
  class Child(Parent):
  
      def __init__(self):
          Parent.__init__(self)
  </code></pre>
  
  <p>What is the difference between these cases, and is one generally preferable to the other?</p>