problem calling parent's __init__ method

Ryan Krauss ryanlists at gmail.com
Thu Aug 7 17:11:24 CEST 2008


I am trying to call a parent's __init__ method from the child's:

class ArbitraryBlock(InnerBlock):
    def __init__(self, codelist, noout=False, **kwargs):
        InnerBlock.__init__(self, codelist, noout=noout, **kwargs)


I get this error:

<type 'exceptions.TypeError'>: unbound method __init__() must be
called with InnerBlock instance as first argument (got ArbitraryBlock
instance instead)


I found a thread that talked about the parent and child being
different types, so I tried setting up the parent class 3 different
ways:

class InnerBlock:

class InnerBlock(object):

class InnerBlock(empty_class):

where

class empty_class(object):
    def __init__(self,_d={},**kwargs):
        kwargs.update(_d)
        self.__dict__=kwargs

I still get the same error.  Why doesn't this work?

Thanks,

Ryan



More information about the Python-list mailing list