"Steven Bethard" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] [snip] > For this reason, I usually suggest declaring properties like[1]: > > py> class E(object): > ... def x(): > ... def get(self): > ... return float(self._x) > ... def set(self, x): > ... self._x = x**2 > ... return dict(fget=get, fset=set) > ... x = property(**x()) > ... def __init__(self, x): > ... self._x = x > ... [snip] > > [1] Thanks to whoever originally suggested this! Sorry, I've forgotten > who...
Hello. As Alex mentioned, I'm the author of the "tidy property idiom" recipe. I stumbled across the idea back in June of 2003, when there were ongoing discussions about property syntax and, in particular, thunks. I've discovered that Greg Ewing had a similar idea 6 months earlier [1], though I wasn't aware of that at the time. I'll note that it is possible to change the built-in property (in a backward compatible manner) to be used as a decorator for this idiom, to redefine parts of properties in sub-classes, and to provide default get/set/del methods. That being said, while I appreciate that there are people who like this recipe (and others who don't), I think it's important to point out that this is *not* the recommended property idiom. Moreover, Guido doesn't like it and he would prefer that it not become the standard [2][3]. Sean [1] http://mail.python.org/pipermail/python-dev/2003-January/032611.html [2] http://mail.python.org/pipermail/python-dev/2003-January/032630.html [3] http://mail.python.org/pipermail/python-dev/2004-January/042206.html -- http://mail.python.org/mailman/listinfo/python-list