[Python-ideas] Verbatim names (allowing keywords as names)

Eric V. Smith eric at trueblade.com
Wed May 16 04:56:22 EDT 2018


On 5/16/18 4:47 AM, Eric V. Smith wrote:
> On 5/16/18 4:13 AM, Paul Moore wrote:

>> Can you give a worked example of how this would
>> help if we wanted to introduce a new keyword? For example, if we
>> intended to make "where" a keyword, what would numpy and its users
>> need to do to continue using `numpy.where`?
>
> I think they'd have to change to `numpy.\where` when `where` became a
> keyword.

To be clear: this would apply to any code that uses numpy.where, not 
just the code that defines it.

The only way to bullet-proof your code so that it would never need any 
modifications in the future would be to put a backslash in front of 
every identifier. Or maybe just all-lowercase identifiers, since we're 
unlikely to make a keyword with uppercase chars in it.

And since no one in their right mind would do that, there's still the 
risk of your code breaking in the future. But at least there would be a 
way of fixing it in a way that would work both with old versions of 
python where the identifier isn't a keyword, and for versions where it 
is. That is, once "old versions" include ones that support verbatim names.

Eric



More information about the Python-ideas mailing list