Passing variable-length keyworded arguments list to base class constructor?
Gordon McMillan
gmcm at hypernet.com
Fri Jun 30 20:23:57 EDT 2000
Jerome Quelin wrote:
>gmcm at hypernet.com (Gordon McMillan) wrote:
>>>But how to pass this dictionnary to the parent class constructor?
>>class F(Frame):
>> def __init__(self, *args, **kwargs):
>> apply(Frame.__init__, (self,)+args, kwargs)
>>Generally you have to muck with the kwargs dict before passing it to the
>>base class __init__.
>That is exactly what I want to know: what this mucking consists of?
Depends on what args the base class expects. If the base class expects
**kwargs, then you can have anything in there.
But if the base class were defined:
class Frame:
def __init__(self, x=0, y=0):
....
And the kwargs you pass it has {'snoo':33,...}, it's going to barf.
But maybe you've been playing with the interpreter, and have discovered all
this by now...
- Gordon
More information about the Python-list
mailing list