[EMAIL PROTECTED] wrote: > This is probably a really stupid question, but I cant seem to find a > satisfying answer by myself so here it goes. In for example java we > could create a class dummie with several constructors, say one that > takes an int, and one that takes a String as argument. In python it > doesnt seem possible to have several __init__ methods ( and I assume if > we could there would be some problem to determine which __init__ to > use). So my question is how this is normally solved in python? I dont > really like the idea of using neither > > def __init__(self, o): > if type(o) is ... > > nor subclasses for the baseclass, but I cant think of another way. Any > thoughts anyone? > > Thanx > /Lennart > In python it is called duck typing but you don't need separate constructors:
def __init__(self, c): if isinstance(c, int): ...do stuff... elif isinstance(c, list): ...do stuff... elif isinstance(c, tuple): ...do stuff... else: . . . Remember Python doesn't care what c is and doesn't do type checking so you can do anything you want. -Larry Bates -- http://mail.python.org/mailman/listinfo/python-list