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

_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to