
On Mon, Oct 04, 2021 at 07:31:10PM +0100, Steve Dower wrote:
To me, the "*name" looks most similar to how we write "*args" in a function definition, so I'd go for that.
That's exactly why we *shouldn't* go for that option. That is going to confuse a lot of people that it is sequence unpacking. See for example Jonathon Goble's experience here: https://mail.python.org/archives/list/python-dev@python.org/message/2TBZZSMZ...
We don't currently modify[1] keywords with punctuation,
Star imports are a possible exception. But there we have no way of confusing the meaning.
and that's what "except*" looks like, and "except * E" looks like a binary operator and/or grit on the screen.
When I saw the `except*` syntax first suggested, I was a little surprised because it did seem rather unusual for Python. But I grew up with FORTH where function names contain punctuation all the time, so I didn't think too much of it. I expected that the keyword literally would be `except*` and nothing but `except*`. If I had realised that the star would be free to wander around and that the syntax actually was r"except[ \t]*\*[ \t]*", I would have said something much earlier :-( -- Steve