title: method overloading in python
body: <p>I need to call unparameterised method <code>first</code>, but also parameterized <code>first</code>, but it is giving an error.</p>
  
  <pre><code>&gt;&gt;&gt; class A:
  ...     def first(self):
  ...             print 'first method'
  ...     def first(self,f):
  ...             print 'first met',f
  ...
  &gt;&gt;&gt; a=A()
  &gt;&gt;&gt; a.first()
  Traceback (most recent call last):
  File "&lt;stdin&gt;", line 1, in &lt;module&gt;
  TypeError: first() takes exactly 2 arguments (1 given) 
  </code></pre>
  
  <p>Is it possible to do method overloading in Python like in Java?</p>