[Python-ideas] Verbatim names (allowing keywords as names)
steve at pearwood.info
Tue May 15 20:41:53 EDT 2018
Inspired by Alex Brault's post:
I'd like to suggest we copy C#'s idea of verbatim identifiers, but using
a backslash rather than @ sign:
would allow "name" to be used as an identifier, even if it clashes with
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:
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
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'):
maybe even nicer than if_.
result = \except + 1
result = something.\except
result = \except.\finally
More information about the Python-ideas