[Python-Dev] PEP 318 -- a couple use cases (original) (raw)

Guido van Rossum guido at python.org
Thu Apr 1 14:16:33 EST 2004


I saw both of the following use cases mentioned on the list, and they seemed interesting, so I went ahead and wrote up implementations:

def propertygetter(func): [...] def generic(*typesignature): [...] Full code is at <http://www.cis.upenn.edu/~edloper/pydecorators.html>. But I still don't feel like I have a good handle on what "acceptable" uses of decorators are.. So, for each of these 2 use cases, is it... - an excellent example that should be included in the stdlib - perfectly acceptable, and belongs in the python cookbook - somewhat hackish, but ok under the right circumstances - an abhorition of nature

I'm wavering between 2 (perfectly acceptable) and 3 (somewhat hackish), only because I consider anything that uses sys._getframe() to be a danger to society unless proven innocent.

I would probably prefer to do both of these using explicit, different names. In particular for properties, I like the fact that I can also explicitly call the getter or setter functions, so I'd probably continue to write those like this:

class C(object):

 def getX(self): return self.__x
 def setX(self, x): self.__x = x
 x = property(getX, setX)

I'm not sufficiently comfortable with generic functions to quite know what feels best there. But I like the notation you proposed (I would like it better with the decorators up front though).

--Guido van Rossum (home page: http://www.python.org/~guido/)



More information about the Python-Dev mailing list