On Fri, Feb 10, 2006 at 10:32:23PM +0100, Georg Brandl wrote: > Unfortunately, a @property decorator is impossible...
Depends. You can do, e.g., def propertydef(propertydesc): data = propertydesc() if not data: raise ValueError, "Invalid property descriptors" getter, setter, deller = (data + (None, None))[:3] return property(fget=getter, fset=setter, fdel=deller, doc=propertydesc.__doc__) and use it like: class X(object): def __init__(self): self._prop = None @propertydef def prop(): "Public, read-only access to self._prop" def getter(self): return self._prop return (getter,) @propertydef def rwprop(): "Public read-write access to self._prop" def getter(self): return self._prop def setter(self, val): self._prop = val def deller(self): self._prop = None return (getter, setter, deller) @propertydef def hiddenprop(): "Public access to a value stored in a closure" prop = [None] def getter(self): return prop[0] def setter(self, val): prop[0] = val def deller(self): prop[0] = None return (getter, setter, deller) -- Thomas Wouters <[EMAIL PROTECTED]> Hi! I'm a .signature virus! copy me into your .signature file to help me spread! _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com