[Python-Dev] Why aren't decorators just expressions?
Joao S. O. Bueno
jsbueno at python.org.br
Tue Sep 19 02:57:43 EDT 2017
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 at 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 at python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: https://mail.python.org/mailman/options/python-dev/jsbueno%40python.org.br
More information about the Python-Dev
mailing list