[Python-Dev] PEP 318 -- a couple use cases
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 property_getter(func):
[...]
> def generic(*type_signature):
[...]
> 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