Thanks for the reply! Is this really deserving of a PEP? It's such a minor
change in the language, can't it be resolved as a python issue?

Out of curiosity, why have you always resisted changing this?

On Tue, Feb 4, 2020 at 2:08 AM Guido van Rossum <gu...@python.org> wrote:

> I’ve always resisted changing this, but it keeps coming up, and in other
> cases we don’t restrict the grammar (except when there are real
> ambiguities). So maybe the SC can accept a PRP for this?
>
> On Mon, Feb 3, 2020 at 15:47 Ben Avrahami <avrahami....@gmail.com> wrote:
>
>> Hi all, decorators are a very powerful feature in python, but it's syntax
>> is strangely restrictive.
>>
>> decorator ::=  "@" dotted_name ["(" [argument_list [","]] ")"] NEWLINE
>>
>> for 99% of cases this is not a hindrance, but sometimes we'd rather be
>> able to use full expression syntax. consider the following example (using
>> PyQt):
>>
>>     # make 10 buttons
>>     buttons = [QPushButton(f'button #{i}') for i in range(10)]
>>     # for now we only want to bind an event to the first button
>>     @buttons[0].clicked.connect
>>     def foo():
>>         ... # do whatever
>>
>> in cases such as this, it would be useful to have any expression
>> acceptable as a decorator.
>>
>> In addition to other use cases such as chained function calling
>> (@buttons_dict.get("foo"). clicked.connect), the restrictiveness of the
>> decorator syntax seems like a strange oversight. Arbitrary expressions are
>> already allowed in decorator lines as arguments, so allowing them as the
>> called decorator shouldn't be too difficult.
>>
>> Any thoughts on this?
>> _______________________________________________
>> Python-ideas mailing list -- python-ideas@python.org
>> To unsubscribe send an email to python-ideas-le...@python.org
>> https://mail.python.org/mailman3/lists/python-ideas.python.org/
>> Message archived at
>> https://mail.python.org/archives/list/python-ideas@python.org/message/WOWD4P323DYDIGUQVWMESDWUG6QOW4MP/
>> Code of Conduct: http://python.org/psf/codeofconduct/
>>
> --
> --Guido (mobile)
>
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/7NTEFVS3WISEWT73TLWPLBFJ6HCPIYP7/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to