> is it correct that an object cannot be re-instantiated within it's > __init__ method?
There are some tricks you can pull but the object is actually instantiated before the init gets called. Really init is for initialisation of the instance, it's not a true constructor. > Background: I need to create a new object upon instantiation > when a database query returns no records. I'd probably create a factory function to do this that returns the appropriate type of instance. def makeDbResponseInstance(queryStatus): if queryStatus: return DBClass() else: return Emptyclass() If the two classes are subclassed from a common ancestor you might put the factory into the class as a class method, but I'd probably just keep it as a function. That keeps the two class's definitions clean and decoupled from the instantiation decision which isn't really their responsibility - children don't choose to be born!. Alan G. _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor