On Wed, 13 Jan 2010 20:15:21 -0800 "Guilherme P. de Freitas" <guilhe...@gpfreitas.com> wrote:
> Ok, I got something that seems to work for me. Any comments are welcome. > > > class Member(object): > def __init__(self): > pass > > > class Body(object): > def __init__(self): > self.members = [] > > def __setattr__(self, obj, value): > if isinstance(value, Member): > self.members.append(obj) > object.__setattr__(self, obj, value) > else: > object.__setattr__(self, obj, value) > > def __delattr__(self, obj): > if isinstance(getattr(self, obj), Member): > self.members.remove(obj) > object.__delattr__(self, obj) > else: > object.__delattr__(self, obj) Seems perfectly ok to me, except for if...else constructs in place of simple if's: an optional statement is added in case obj is of type Member; this is not an alternative. if isinstance(value, Member): self.members.append(obj) object.__setattr__(self, obj, value) # in both cases Same for __delattr__, indeed. Denis ________________________________ la vita e estrany http://spir.wikidot.com/ _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor