Overloading __init__ & Function overloading

Paul Rubin http
Fri Sep 30 10:29:45 EDT 2005


"Iyer, Prasad C" <prasad.c.iyer at capgemini.com> writes:
> But I want to do something like this
> 
> class BaseClass:
> 	def __init__(self):
> 		# Some code over here
> 	def __init__(self, a, b):
> 		# Some code over here
> 	def __init__(self, a, b, c):
> 		# some code here

You can only use one __init__ method.  You'd have it count the args:

class BaseClass:
  def __init__(self, *args):
     if len(args) == 2:
        a, b = args
        # some code
     elif len(args) == 3:
        a, b, c = args
        # more code



More information about the Python-list mailing list