title: Is it possible to detect conflicting method names in Python?
body: <p>I have created a Python class called <code>Liger</code>, which extends a class called <code>Lion</code> and a class called <code>Tiger</code>. The class <code>Liger</code> inherits the method <code>speak()</code> from both <code>Lion</code> and <code>Tiger</code>, but the syntax is valid nonetheless - no error message is printed, but instead, <code>Tiger</code>'s implementation of the <code>speak()</code> method is inherited by <code>Liger</code>. Is it possible to detect method name collisions like this one in Python, so that an error message is printed when method names conflict in this way?</p>
  
  <pre><code>'''
  Conflicting method names in python
  '''
  
  
  class Tiger():
      @staticmethod
      def speak():
          print "Rawr!";
  
  class Lion():
      @staticmethod
      def speak():
          print "Roar!";
  
  class Liger(Tiger, Lion):
      pass
  '''both superclasses define a speak() method, and I need a way to detect this type of conflict.'''    
  
  Liger.speak(); ''' this prints "Rawr" instead of printing an error message. '''
  '''Is there any way to detect method name collisions like this one?'''
  </code></pre>
  
  <p>The code can be tested and debugged online here: <a href="http://ideone.com/xXOoVq" rel="noreferrer">http://ideone.com/xXOoVq</a></p>