
I myself found out abotu this restriction once I clashesd into it- soit was one time the restriction bit me back. But I can't remember if that was for intended production code or for toying around either. Anyway, a simple "nop" function can allow for any arbitrary expression to be used as decorator, at expense of a little more line noise. And the restriction prevents the line noise to emerge as "cool" in some framework that mitg take inspiration in trends ongoing in other languages. nop = lambda f: f @nop(MyClass(things)[dimension1, dimension2[subdimension5]] + CombinableAutoMixinDecoFactory()) def my_func(): pass On 18 September 2017 at 18:33, Éric Araujo <merwok@netwok.org> wrote:
Hello,
Le 2017-09-16 à 07:22, Serhiy Storchaka a écrit :
16.09.17 12:39, Larry Hastings пише:
So why don't decorators allow arbitrary expressions? [...]
Actually I remember somebody raised this question a year or two ago,> but don't remember details.
The discussion I remember was https://bugs.python.org/issue19660
Guido said: «Nobody has posted a real use case. All the examples are toys. What are the real use cases that are blocked by this? Readability counts!»
Cheers _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/jsbueno%40python.org.br