[Python-3000] Assignment decorators
Brett Cannon
brett at python.org
Fri Dec 8 20:58:38 CET 2006
On 12/8/06, Talin <talin at acm.org> wrote:
>
> One other minor brainstorm before I head off to work: I'd like function
> decorators to work with assignment statements as well as 'def' statements.
>
> Use case:
>
> class Foo:
>
> @private
> def myfunc():
> pass
>
> @private
> selected = True
>
> Rationale: The 'def' statement is a type of assignment statement, in
> that it assigns a value (a function object) to a symbol. For
> consistency, the same mechanic ought to be available to other kinds of
> assignment.
That just seems ugly. Decorators are fine for functions, methods (and
eventually classes) because they only appear in one place. But having them
strewn about within a function body just seems messy to me.::
def fxn():
@decorator
a = b
@decorator
c = d
@decorator
e = f
Contrived, I know, but that just hurts my eyes. Plus if you want to change
the value of something before it is assigned then pass the value to be
assigned to a function. Decorators provide the ability to pre-process
objects that one could not normally touch before assignment. You don't have
this issue with assignment statements in a function and thus you are not
solving a problem here that decorators were designed for.
-Brett
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/python-3000/attachments/20061208/b101ff08/attachment.htm
More information about the Python-3000
mailing list