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 <thomas at xs4all.net> Hi! I'm a .signature virus! copy me into your .signature file to help me spread!
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4