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/