On Fri, 07 Jan 2005 14:39:09 +0100, BJÃrn Lindqvist wrote: > It works! exec(magic()) does the needed hi = self.hi.
No it doesn't. Try "hi = 'newValue'" and see what happens. So the next step is to write an "unmagic" function. So now how do you add instance variables? There is no way to avoid "self" *and* not pre-declare variables in some fashion as belonging to the instance (as declarations, as sigils, what have you). Given that Python is not, will not, and should not do the latter, I submit that "self" is, at least for you, the lesser of two evils. (I don't consider it evil at all, so it isn't such for me; were I programming in C++ routinely now I'd prefix "this" and dispense with that ugly "m_" garbage. (One of the things I ***hate*** about C++ culture is its acceptance of hideously ugly variable names, but now I'm two parentheticals deep so I probably ought to stop.)) -- http://mail.python.org/mailman/listinfo/python-list