in python you can provide default values for your parameters: class BaseClass: def __init__(self, a=None): if a is None: #no parameter pass else: #one parameter pass baseclass1=BaseClass() baseclass2=BaseClass(1)