Re: More __init__ methods

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Tim Golden

    Re: More __init__ methods

    Mr.SpOOn wrote:
    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.
    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
Working...