Assignment not the same as defining?
l0819m0v0smfm001 at sneakemail.com
Thu Oct 4 00:17:32 CEST 2001
Dale Strickland-Clark wrote:
> A solution I thought I had to using __setattr__ doesn't seem to work.
> class wibble:
> def __init__(self):
> <init code>
> self.__setattr__ = self.set
> def set(self, attr, value):
> <assignment code>
If I understand what you're trying to do, I think the standard
workaround for this it to override __setattr__ the way you want, and
directly muck with __dict__ in __init__, e.g.
>>> class C:
... def __init__(self, stuff):
... self.__dict__['stuff'] = stuff
... def __setattr__(self, attr, val):
>>> c = C('1')
>>> c.stuff = 2
More information about the Python-list