"An example of argument passing in cooperative methods" class A(object): def __init__(self): print 'A' class B(A): def __init__(self, a=None): print 'B with a=%s' % a super(B, self).__init__(a) class C(A): def __init__(self, a): print 'C with a=%s' % a super(C, self).__init__() class D(B, C): def __init__(self): print 'D' super(D, self).__init__()