title: super() class inheritance, Diamond Problem
body: <p>Why when I call <code>super()</code> in the class <code>WordCounter</code> it calls the class <code>Vocabulary</code> even though it's not inheriting from? Shouldn't it call class <code>Tokenizer</code> instead?</p>
  
  <pre><code>class Tokenizer:
      """Tokenize text"""
      def __init__(self, text):
          print('Start Tokenizer.__init__()')
          print('End Tokenizer.__init__()')
  
  
  class Vocabulary(Tokenizer):
      """Find unique words in text"""
      def __init__(self, text):
          print('Start init Vocabulary.__init__()')
          print('End init Vocabulary.__init__()')
  
  
  class WordCounter(Tokenizer):
      """Count words in text"""
      def __init__(self, text):
          print('Start WordCounter.__init__()')
          super().__init__(text)
          print('End WordCounter.__init__()')
  
  
  class TextDescriber(WordCounter, Vocabulary):
      """Describe text with multiple metrics"""
      def __init__(self, text):
          print('Start init TextDescriber.__init__()')
          super().__init__(text)
          print('End init TextDescriber.__init__()')
  
  
  td = TextDescriber('row row row your boat')
  </code></pre>
  
  <p>OUTPUT:</p>
  
  <pre><code>Start init TextDescriber.__init__()
  Start WordCounter.__init__()
  Start init Vocabulary.__init__()
  End init Vocabulary.__init__()
  End WordCounter.__init__()
  End init TextDescriber.__init__()
  </code></pre>