[Python-Dev] Decorators: vertical bar syntax (original) (raw)
Guido van Rossum guido at python.org
Mon Aug 9 17:04:47 CEST 2004
- Previous message: [Python-Dev] Re: Decorators: vertical bar syntax
- Next message: [Python-Dev] Decorators: vertical bar syntax
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
[Guido]
> In the discussion on decorators months ago, solutions involving > special syntax inside the block were ruled out early on. Basically, > you shouldn't have to peek inside the block to find out important > external properties of the function.
[Bill Janssen]
Guido, could you expand on this principle a bit? Just stated as it is, it sounds as pointless (to my untutored mind, at least :-), as the arguments about "@ is ugly, so it shouldn't be used". After all, isn't "what the function does" an important external property of the function, and don't you have to peek inside the block to determine that? For instance, how do you know whether a function is a generator unless you look for yield statements inside it?
It's probably untenable as a formal principle. :-)
Nevertheless I don't like to put decorators in the method body. I think it has something to do with the fact that normally one thinks of the body contents as relevalt to "call-time" while decorators happen at "definition-time".
And before you bring up docstrings as a counterexample, yes, they should ideally have been designed to precede the method, too.
--Guido van Rossum (home page: http://www.python.org/~guido/)
- Previous message: [Python-Dev] Re: Decorators: vertical bar syntax
- Next message: [Python-Dev] Decorators: vertical bar syntax
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]