[Tutor] Inheritance help
sean_mcdaniel
sean.m.mcdaniel at gmail.com
Wed Jul 2 20:50:57 CEST 2008
Hi y'all,
I found the problem. My __init__ statement in the subclass had an extra
underscore, which is why the baseclass __init__ was the only one called.
Duh!
Sean
sean_mcdaniel wrote:
>
> Thank you for the reply.
>
> I have made the substitution, but I still receive the same error. I
> previously defined the __init__ statements in the old way, i.e.
>
> FileParse.__init__(self)
>
> but with the same problematic outcome.
>
> Thank you,
>
> Sean
>
>
> Lie Ryan wrote:
>>
>>> Hi Folks,
>>>
>>> I can redefine the class and I get a "TypeError: __init__() takes
>>> exactly 1
>>> argument (2 given)" error. I'm creating a SinglePeakFit object and
>>> not a
>>> FileParse one. Still puzzled...
>>
>> In this:
>>
>> class SinglePeakFit(FileParse):
>> ...
>> def __init___(self, filename):
>> print "I am here!"
>> super(FileParse,self).__init__()
>> ...
>> ...
>>
>> You called the __init__ of FileParse's superclass(es), i.e.
>> object.__init__
>>
>> What you wanted is this:
>>
>> class SinglePeakFit(FileParse):
>> ...
>> def __init___(self, filename):
>> print "I am here!"
>> super(SinglePeakFit,self).__init__()
>> ...
>> ...
>>
>> which calls the superclass(es) of SinglePeakFit, i.e. FileParse.__init__
>>
>> Anyway, you don't actually need to use super() unless your class use
>> multiple inheritance. And even the en it is only really required if
>> there is 'diamond'-shaped inheritance, like: A(object), B(A), C(A), D(A,
>> B). But it is good practice to use super for any multiple inheritance,
>> even though it's not diamond shaped (actually all cases of multiple
>> inheritance is diamond shaped since all (new-style) classes inherits
>> from object).
>>
>> _______________________________________________
>> Tutor maillist - Tutor at python.org
>> http://mail.python.org/mailman/listinfo/tutor
>>
>>
>
>
--
View this message in context: http://www.nabble.com/Inheritance-help-tp18240495p18244255.html
Sent from the Python - tutor mailing list archive at Nabble.com.
More information about the Tutor
mailing list