Mr.SpOOn wrote:
My own approach -- and I don't think I'm unique in this -- is
to use class methods called things like "from_strin g" or "from_date" ,
possibly with a convenience function which tries to guess from a
passed-in parameter which of them is to be used.
TJG
Hi,
I know there can be only one __init__ method (at least, I think).
>
Often I need an object to be created in different ways, for example
passing a string as argument, or an integer, or another object. To
achieve this I put the default value of the arguments to None and then
I some if...elif inside the __init__.
>
Is this a good practice? It actually works, but sometimes I think that
in this way the __init__ method can become too complicated, for
example when an object can be created using more than one argument and
in different combinations.
I know there can be only one __init__ method (at least, I think).
>
Often I need an object to be created in different ways, for example
passing a string as argument, or an integer, or another object. To
achieve this I put the default value of the arguments to None and then
I some if...elif inside the __init__.
>
Is this a good practice? It actually works, but sometimes I think that
in this way the __init__ method can become too complicated, for
example when an object can be created using more than one argument and
in different combinations.
to use class methods called things like "from_strin g" or "from_date" ,
possibly with a convenience function which tries to guess from a
passed-in parameter which of them is to be used.
TJG