[Python-Dev] method decorators (PEP 318)
Skip Montanaro
skip at pobox.com
Fri Mar 26 14:33:00 EST 2004
Robert> However, the idea of putting such attributes at the same level
Robert> as the rest of the function block is ugly to me--newbies are
Robert> going to go mad the first few times, trying to figure out *when*
Robert> such statements are evaluated.
An excellent point. It seems to me that @statements would have to be
restricted to occur only at the beginning of a function (immediately after
the def line or the docstring). If not, you'll probably get people (newbies
at least) trying to write stuff like this:
def foo(a):
if a > 5:
@attr: "bob"
elif a > 0:
@attr: "skip"
else:
@attr: "guido"
The other forms (via a decorator, using explicit attribute assignments after
the definition) make it explicit that these attribute assignments don't
occur in the context of function execution.
Skip
More information about the Python-Dev
mailing list