On Sat, 19 Sep 2020 at 04:06, Paolo Lammens email@example.com wrote:
I also wanted to add:
@a, b, c def func(): ...
was prohibited (i.e. you must use parentheses) because [it looks like] it doesn't make any sense, shouldn't be also the case that any expression with spaces should be parenthesized? Because this looks equally "wrong":
@a + b * c**d % e def func(): pass
Granted, there is no rule resembling this anywhere else in Python, but maybe an exception can be made here, to keep it consistent with the above?
I didn't really follow the discussions on the PEP that relaxed the rules, but I'd say that the current (restrictive) rules were there to avoid people using "weird" stuff as decorators. The relaxation allows more flexibility, but at the cost of allowing people to do weird stuff. So let's just tell people not to do that - there's not much point in trying to define a *different* rule for "useful but not weird stuff" IMO.
The rationale in the PEP may have a better explanation - if you haven't already, I'd suggest you read it and see if it helps clarify things for you.