Inspired by Alex Brault's post: https://mail.python.org/pipermail/python-ideas/2018-May/050750.html I'd like to suggest we copy C#'s idea of verbatim identifiers, but using a backslash rather than @ sign: \name would allow "name" to be used as an identifier, even if it clashes with a keyword. It would *not* allow the use of characters that aren't valid in identifiers, e.g. this is out: \na!me # still not legal See usage #1 here: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/tokens/ver... If "verbatim name" is too long, we could call them "raw names", by analogy with raw strings. I believe that \ is currently illegal in any Python expression, except inside strings and at the very end of the line, so this ought to be syntactically unambgiguous. We should still include a (mild?) recommendation against using keywords unless necessary, and a (strong?) preference for the trailing underscore convention. But I think this doesn't look too bad: of = 'output.txt' \if = 'input.txt' with open(\if, 'r'): with open(of, 'w'): of.write(\if.read()) maybe even nicer than if_. Some examples: result = \except + 1 result = something.\except result = \except.\finally -- Steve