title: Why are parent constructors not called when instantiating a class?
body: <pre><code>class A:
      def __init__(self):
          print 'A'
  
  
  class B(A):
      def __init__(self):
          print 'B'
  
  
  b = B()
  B
  </code></pre>
  
  <p>In C++, I would have expected to see <code>A B</code> output, but in Python I am getting only <code>B</code>. I know that I can do <code>super(B, self).__init__()</code> to achieve the same in Python, but as this is apparently not the default (or is it - I am new to the syntax as well),  I am worried that the paradigms for instatinating objects are completely different. </p>
  
  <p>So what are objects in Python, what is their relation with classes and what is the standard way to initialize all data in all parent classes in Python?</p>