thanks Peter, for your perfect explanation, and
By the way, looping over a dictionary destroys its key advantage, O(1) lookup. Use# untested if attr in self.extra_setters: self.extra_setters[attr](value) else: self.__dict__[attr] = value and something similar in __getattr__().
yes, that's probably much better, have to get used to this Python behavior, thanks, cheers, Stef -- http://mail.python.org/mailman/listinfo/python-list