I have some places in pyparsing where I've found that the most straightforward way to adjust an instance's behavior is to change its class. I do this by assigning to self.__class__, and things all work fine.
(Converting to use of __new__ is not an option - in one case, the change is temporary, and before the end of the function, I change it back again.) Any comments on this practice? Is this intended capability for Python objects, or am I taking advantage of a fortuitous accident, which may get undone at a future time? -- Paul -- http://mail.python.org/mailman/listinfo/python-list