是否可以在Python中转义保留字?

时间:2011-06-28 08:50:34

标签: python syntax

在保留字之后命名变量可能不是一个好主意,但我很好奇:

Python中是否有任何转义语法允许您使用保留字作为变量的名称?

例如,在C#中,这可以通过在保留字前加@

来完成

5 个答案:

答案 0 :(得分:11)

这是不可能的,但是在Python中添加_获取新标识符是一种传统:

def drive(from_, to):
    pass

答案 1 :(得分:4)

,这是不可能的。

Section 2.3.1 of The Python Language Reference表示关键字'不能用作普通标识符',并且未指定转义语法。

为了代码可读性,这可能是一件好事!

答案 2 :(得分:3)

如果您不介意添加前缀,则可以使用下划线“前缀”。当然它实际上是变量名称的一部分,但它看起来像一个带前缀的保留字。除此之外,这是不可能的。

答案 3 :(得分:1)

使用以下命令时出现错误:

for r in db.call ('ReadCashflows',
                  number = number,
                  from = date_from,
                  to = date_to):

我尝试使用大写字母代替,现在可以使用了:

for r in db.call ('ReadCashflows',
                  number = number,
                  FROM = date_from,
                  TO = date_to):

这对我来说是可能的,因为我的数据库是ORACLE(不区分大小写)。备注上面的代码:在我的软件应用程序中,数据库中的实际参数是pFROM和pTO;在对数据库进行调用之前,将在后处理中添加“ p”。

答案 4 :(得分:0)

db.call( ..., **{ 'from' : date_from }, **{ 'to' : date_to })

解压缩时,Python不执行这些检查。