Multiple constructors

Reinhold Birkenfeld reinhold-birkenfeld-nospam at wolke7.net
Sun Feb 6 05:19:09 EST 2005


vincent wehren wrote:
> Philip Smith wrote:
>> Call this a C++ programmers hang-up if you like.
>> 
>> I don't seem to be able to define multiple versions of __init__ in my matrix 
>> class (ie to initialise either from a list of values or from 2 dimensions 
>> (rows/columns)).
>> 
>> Even if Python couldn't resolve the __init__ to use on the basis of argument 
>> types surely it could do so on the basis of argument numbers???
>> 
>> At any rate - any suggestions how I code this????
> 
> Checking the number of arguments ain't all that hard:
> 
> class Klass:
>     def __init__(*args):
>         self.args = args
>         if len(self.args) == 1:
>             # etc.
> 
> This feels rather unpythonic, though. 

And it won't work, as `self' is not defined. ;)

Reinhold



More information about the Python-list mailing list