Many examples contain the following construct: def __init__(self): apply(KTMainWindow.__init__,(self,)) or def __init__(self,*args): apply(QWidget.__init__,(self,) + args) what does this do exactly?