title: Multiple inheritance difference between Python 2.7 and 3
body: <p>I've already got that there is a difference between Python 2.7 and 3. implementing multiple inheritance, for example:</p>
  
  <p>In Python 3.:</p>
  
  <pre><code>class A:
      def __init__(self, x2='', x3='', **kwargs):
          print kwargs
          super().__init__(**kwargs)
          self.x2 = x2
          self.x3 = x3
  
  class B:
      def __init__(self, x4='', x5='', **kwargs):
          print kwargs
          super().__init__(**kwargs)
          self.x4 = x4
          self.x5 = x5
  
  class C(A, B):
      def __init__(self, x1='', **kwargs):
          print kwargs
          super().__init__(**kwargs)
          self.x1 = x1
  </code></pre>
  
  <p>And in Python 2.7:</p>
  
  <pre><code>class A(object):
      def __init__(self, x2='', x3='', **kwargs):
          print kwargs
          super(A, self).__init__(**kwargs)
          self.x2 = x2
          self.x3 = x3
  
  class B(object):
      def __init__(self, x4='', x5='', **kwargs):
          print kwargs
          super(B, self).__init__(**kwargs)
          self.x4 = x4
          self.x5 = x5
  
  class C(A, B):
      def __init__(self, x1='', **kwargs):
          print kwargs
          super(C, self).__init__(**kwargs)
          self.x1 = x1
  </code></pre>
  
  <p>Running the code:</p>
  
  <pre><code>C(x1='a',x2='b',x3='c',x4='d',x5='e',x6='f',x7='g')
  </code></pre>
  
  <p>In Python 3., I got:</p>
  
  <pre><code>{'x2': 'b', 'x3': 'c', 'x6': 'f', 'x7': 'g', 'x4': 'd', 'x5': 'e'}
  {'x6': 'f', 'x7': 'g', 'x4': 'd', 'x5': 'e'}
  {'x6': 'f', 'x7': 'g'}
  </code></pre>
  
  <p>But doing the same, Python 2.76 would result in an error too:</p>
  
  <pre><code>{'x2': 'b', 'x3': 'c', 'x6': 'f', 'x7': 'g', 'x4': 'd', 'x5': 'e'}
  {'x6': 'f', 'x7': 'g', 'x4': 'd', 'x5': 'e'}
  {'x6': 'f', 'x7': 'g'}
  Traceback (most recent call last):
    File "&lt;stdin&gt;", line 1, in &lt;module&gt;
  super(C, self).__init__(**kwargs)
  super(A, self).__init__(**kwargs)
  super(B, self).__init__(**kwargs)
  TypeError: object.__init__() takes no parameters
  </code></pre>
  
  <p>I noticed if I remove <code>super(B, self).__init__(**kwargs)</code> from Python 2.7 code, there won't be any error, as probably <code>class B</code> does not inherit from <code>class A</code>. Anybody knows how this work without any problem in Python 3? and any solution solving this problem in Python 2.7?</p>