Gadfly在python中使用保留字。它是如何做到的?

时间:2014-02-22 20:45:12

标签: python

我正在查看Gadfly的源代码,这是一个基于python的SQL数据库,我注意到其中一个文件中各种方法使用as保留字:

bindings.py的代码摘录:

def trl1as(l,c):
    [name, as, alias] = l
    return [(name, alias)]

....

def selectname(list, context):
    [exp, as, alias] = list
    return (exp, alias)

正如所料,当我尝试将此文件导入python shell时,它给了我一个语法错误。

>>> from gadfly import bindings
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "gadfly/bindings.py", line 64
    [create, view, name, namelist, as, selection] = l
                                    ^
SyntaxError: invalid syntax

如何使用保留字?

1 个答案:

答案 0 :(得分:3)

Python不允许您创建与其中一个关键字同名的变量。这样做在每个版本中都是非法的,并且总是会引发SyntaxError

因此,您的脚本必须在as成为关键字之前编写。这发生在2.5版本中。作为证据,请注意Python 2.5 keywords中列出as的方式,而不是Python 2.4 keywords。{/ p>