Tiger12506 wrote: > It's a little ugly but not too bad. What you are describing are properties. > > class Foo:
should be class Foo(object): > def _get_attr1(self): > if not self.attr1: > attr1 = TheValue > return attr1 You have to use a different name for the actual data attribute and the property (stack overflow, anyone?), and you didn't save the value. if not self._attr1: self._attr1 = TheValue return self._attr1 > def _set_attr1(self, value): > self.attr1 = value > ChangeDBFunction(value) > attr1 = property(self._get_attr1,self._setattr1,None,None) A read-only property might be more appropriate (no _set_attr1). > > I think that will work. The docs seem to suggest that you should subclass > `object`. That is required. Properties do not work correctly with old-style classes (not derived from object). Kent _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor