[Python-3000] Assignment decorators (original) (raw)

Calvin Spealman ironfroggy at gmail.com
Sat Dec 9 04:40:28 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. -- Talin


Python-3000 mailing list Python-3000 at python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/ironfroggy%40gmail.com

Although I agree with the merits of this, to some degree (I even thought of it previously), I would have to now disagree because the overall value is probably not worth the resulting confusion. The confusion is both in the look of the code (which has been pointed out) and the lack of usefulness compared to function decorators.

I'm all for class decorators, of course. Any kind of assignment that does not simple bind the name to a given expression is up for decorators, I say. Even though that includes the following, possibly terrible, example:

@max for largest in list_of_pairs: print larget

-- Read my blog! I depend on your acceptance of my opinion! I am interesting! http://ironfroggy-code.blogspot.com/



More information about the Python-3000 mailing list