Peter Hansen wrote: > Заур Шибзухов wrote: > >>There is a syntactic sugar for item access in >>dictionaries and sequences: >> >>o[e] = v <-> o.__setitem__(e, v) >>o[e] <-> o.__getitem__(e) >> >>where e is an expression. >> >>There is no similar way for set/get attribute for objects. >>If e is a given name, then >> >>o.e = v <-> o.__setattr__(e, v) >>o.e <-> o.__getattr__(e) >> >>Anybody thought about this issue? > > Perhaps not, but now that you've pointed it out they've taken the time > machine back and fixed the problem before it arose: > > >>> class C: > ... def __setattr__(self, e, v): > ... print 'setting %s to %s' % (e, v) > ... self.__dict__[e] = v > ... > >>> o = C() > >>> v = 'mystring' > >>> o.e = v > setting e to mystring > >>> o.e > 'mystring' > >>>
I think he means something like this: e = 'i_am_an_attribute' o.(e) = 10 o.i_am_an_attribute == 10 -- Robert Kern [EMAIL PROTECTED] "In the fields of hell where the grass grows high Are the graves of dreams allowed to die." -- Richard Harter -- http://mail.python.org/mailman/listinfo/python-list