title: Abstract methods with specific arguments in Python
body: <p>I implement abstract class with abc package. The program below shows no problems.</p>
  
  <p>Is there any way to make it fail because abstract <code>MyMethod</code> did have an argument <code>a</code> but the implementation of 'MyMethod' in class <code>Derivative</code> didn't? So I would like specify not only methods in the interface class <code>Base</code> but also arguments of these methods.</p>
  
  <pre><code>import abc
  
  #Abstract class
  class Base(object):
      __metaclass__  = abc.ABCMeta
  
      @abc.abstractmethod
      def MyMethod(self, a):
          'MyMethod prints a'
  
  
  class Derivative(Base)
  
      def MyMethod(self):
          print 'MyMethod'
  </code></pre>