@decorator syntax is sugar, but for what exactly? (decorator libraries).
Andrew Durdin
adurdin at gmail.com
Sun Aug 8 10:27:53 EDT 2004
On Sun, 08 Aug 2004 10:19:19 -0400, Roy Smith <roy at panix.com> wrote:
>
> The key question is whether the decorator mechanism would allow such a
> thing? All of the examples I've seen have the decorator defined right
> before it's used, and having a simple name. I'm guessing that the real
> syntax is @<callable>, and that any expression that evaluations to a
> callable object is kosher after the "@"?
There was some discussion about this on python-dev, and the BDFL's
conclusion was that arbitrary expressions were not allowed, but only
dotted names (with optional parentheses), i.e.:
@decorator
@module_or_object.decorator
@func_returning_decorator(args)
@module_or_object.func_returning_decorator(args)
(With presumably multiple dotted levels allowed, e.g. module.object.decorator)
See http://www.python.org/dev/doc/devel/ref/function.html for the
grammar definition.
More information about the Python-list
mailing list