[Python-Dev] "as" keyword woes

Guido van Rossum guido at python.org
Mon Dec 8 22:54:41 CET 2008

On Sun, Dec 7, 2008 at 1:06 PM, Paul Boddie <paul at boddie.org.uk> wrote:
> On Sat Dec 6 21:29:09 CET 2008, Guido van Rossum wrote:
>> On Sat, Dec 6, 2008 at 11:38 AM, Warren DeLano <warren at delsci.com>
>> wrote:
>> > As someone somewhat knowledgable of how parsers work, I do not
>> > understand why a method/attribute name "object_name.as(...)" must
>> > necessarily conflict with a standalone keyword " as ".  It seems to me
>> > that it should be possible to unambiguously separate the two without
>> > ambiguity or undue complication of the parser.
>> That's possible with sufficiently powerful parser technology, but
>> that's not how the Python parser (and most parsers, in my experience)
>> treat reserved words. Reserved words are reserved in all contexts,
>> regardless of whether ambiguity could arise.
> Just a quick aside from someone who merely lurks on this list: in SQL, it's
> quite possible to use keywords in a fashion similar to that desired by the
> inquirer, and it's actually possible to double-quote keywords and use them as
> names for things. I'm not advocating more complicated parsing technology for
> any Python implementation, but I think it's pertinent to point out that the
> technology isn't particularly obscure.

>From my experience with SQL, it's nearly as bad as Python in that
every single one of the 200+ reserved words in a typical
implementation cannot be used as a name in any context without using
double quotes. While the double-quote escape is handy (especially
given there are so many obscure reserved words) this is not exactly
what the OP wanted -- they would have to say x."as"('float'), except
using some other notation instead of double quotes. Having to escape
it completely kills the OP's claim that 'as' is "simplest and most

--Guido van Rossum (home page: http://www.python.org/~guido/)

More information about the Python-Dev mailing list