One pythonic way to do this is with default parameters: class MyClass: def __init__(self, param=None, param1=None): if param1 is None: if param is None: # 1arg case else: # 2arg case else: # 3arg case Jeff