Kay Schluehr wrote: > class A(object): > foo = property: > def fget(self): > return self._foo > def fset(self, value): > self._foo = value > > which was translated as follows: > > class A(object): > def thunk(): > def fget(self): > return self._foo > def fset(self, value): > self._foo = value > return vars() > foo = propery(**thunk()) > del thunk
Python 2.6 and 3.0 have a more Pythonic way for the problem: class A(object): @property def foo(self): return self._foo @foo.setter def foo(self, value) self._foo = value @foo.deletter def foo(self) del self._foo class B(A): # one can even overwrite the getter in a subclass @foo.getter def foo(self): return self._foo * 2 Christian -- http://mail.python.org/mailman/listinfo/python-list