title: Python second level inheritance
body: <p>I'm kinda new to python, but I've got a question about second level inheritance.</p>
  
  <p>I have this situation:</p>
  
  <pre><code>class A:
    def Something(self):
       #Do Stuff
  
  class B(A):
    def SomethingElse(self):
       #Do other stuff
  
  class C(B):
    def Something(self):
       #Do additional stuff
  </code></pre>
  
  <p>Note that class C inherits from B which inherits from A, but that class B DOES NOT implement method Something().</p>
  
  <p>If I call super(C, self).Something() for an instance of class C, what will happen? Will it call the method from class A?</p>
  
  <p>Additionally, if class B <em>does</em> implement Something(), but I want to call class A's Something() directly from class C (ie bypass class B's implementation), how do I do it? </p>
  
  <p>Finally, can someone explain to me why people user super() rather than just calling the parent class's methods directly? Thanks.</p>