SV: Polymorphism using constructors
K Viltersten
tmp1 at viltersten.com
Tue Mar 4 15:05:27 EST 2008
"Diez B. Roggisch" <deets at nospam.web.de> skrev i meddelandet
news:63346uF25gigqU1 at mid.uni-berlin.de...
>K Viltersten schrieb:
>> I'm writing a class for rational numbers
>> and besides the most obvious constructor
>>
>> def __init__ (self, nomin, denom):
>>
>> i also wish to have two supporting ones
>>
>> def __init__ (self, integ):
>> self.__init__ (integ, 1)
>> def __init__ (self):
>> self.__init__ (0, 1)
>>
>> but for some reason (not known to me at
>> this point) i get errors. My suspicion is that it's a syntax issue.
>
> "errors" is not much of an error-description. That's what stacktraces are
> for.
I assumed that the error was so obvious to a
seasoned Pytonist (Pythoner?) that a trace
didn't matter. Your help below proves it. :)
Nevertheless, i'll be careful in the future
and make sure to post the traces too. Sorry.
> Apart from that, you won't succeed with the above. Python has no
> signature-based polymorphism. Instead, you use default arguments, like
> this:
>
> def __init__(nomin=0, denom=1):
> ...
Thank you.
--
Regards
Konrad Viltersten
--------------------------------
sleep - a substitute for coffee for the poor
ambition - lack of sense to be lazy
More information about the Python-list
mailing list