On Fri, Jun 12, 2009 at 8:37 AM, Lie Ryan<[email protected]> wrote: >>>> class Normal(object): > ... def __new__(cls, arg): > ... if arg: > ... return Special(arg) > ... else: > ... ret = super(Normal, cls).__new__(cls) > ... ret.__init__(arg) > ... return ret
I think the else case should be ret = super(Normal, cls).__new__(cls, arg) return ret i.e. pass the same args to super.__new__() and don't explicitly call __init__(). Kent _______________________________________________ Tutor maillist - [email protected] http://mail.python.org/mailman/listinfo/tutor
