On Mar 9, 11:50 am, "Rhodri James" <[email protected]>
wrote:
> On Wed, 09 Mar 2011 00:29:18 -0000, Martin De Kauwe <[email protected]>
> wrote:
>
>
>
>
>
>
>
> > On Mar 9, 10:20 am, Ethan Furman <[email protected]> wrote:
> [snip]
> >> Just make sure and call the parent's constructor, either with
>
> >> class NewClass(BaseClass):
> >> def __init__(self, ....):
> >> BaseClass.__init__(self, other_params)
>
> >> or
>
> >> class NewClass(BaseClass):
> >> def __init__(self, ....):
> >> super(NewClass, self).__init__(....)
>
> >> ~Ethan~
>
> > Hi thanks, but I think I am implementing it wrong then?
>
> > BaseClass has 4 attributes and when I tried what you said
>
> > class NewClass(BaseClass):
> > def __init__(self):
> > super(NewClass, self).__init__(new_thing)
>
> > I get the error
>
> > TypeError: __init__() takes exactly 1 argument (6 given)
>
> Please give us either the rest of the code or the rest of the
> traceback, or preferably both. Without one or the other we have
> little hope of guessing what you've typed.
>
> --
> Rhodri James *-* Wildebeest Herder to the Masses
OK
class BaseClass(object):
def __init__(self, a, b, c, d):
self.a = a
self.b = b
self.c = c
self.d = d
class NewClass(BaseClass):
def __init__(self):
super(NewClass, self).__init__(new)
self.new = new
print self.new
class PreviousClass:
def __init__(self, a, b, c, d, new):
self.a = a
self.b = b
self.c = c
self.d = d
self.new = new
print self.new
if __name__ == "__main__":
A = PreviousClass(1, 2, 3, 4, 5)
B = NewClass(1, 2, 3, 4, 5)
$ python test.py
Traceback (most recent call last):
File "model_data.py", line 29, in <module>
B = NewClass(1, 2, 3, 4, 5)
TypeError: __init__() takes exactly 1 argument (6 given)
So NewClass is my attempt to implement what I was shown and
PreviousClass was how I was originally solving the issue, i.e. I
wouldn't inherit the BaseClass.
thanks
--
http://mail.python.org/mailman/listinfo/python-list