Oh, sorry I misunderstand you. But the other thing is easy as well. class A: def __init__(self, a,b,c,d): ..... class B(A): def __init__(self, a,b): c = <defaultc> d= <defaultd> A.__init__(self, a,b,c,d)