我知道在Python 3.x中可以使用非ASCII标识符(PEP 3131)。
x1 = 2
x2 = 4
Δx = x2 - x1
print(Δx)
在Python 2.7中是否有这样的功能?也许,有人将它移植到了2.x分支吗?
我知道在Python 3.x中可以使用非ASCII标识符(PEP 3131)。
x1 = 2
x2 = 4
Δx = x2 - x1
print(Δx)
在Python 2.7中是否有这样的功能?也许,有人将它移植到了2.x分支吗?
Identifiers (also referred to as names) are described by the following lexical definitions:
identifier ::= (letter|"_") (letter | digit | "_")* letter ::= lowercase | uppercase lowercase ::= "a"..."z" uppercase ::= "A"..."Z" digit ::= "0"..."9"
在Python 3中,PEP 3131 扩展了可能的字符范围。
将其移植到2.x分支几乎没有任何意义;这将是一个需要所有运行您的代码的人安装特殊修补程序并编译解释器的小众“功能”。
请注意,这个更改不是微不足道的;Python 2标识符是字节字符串(而不是Unicode值)。 您必须找到处理标识符的所有位置,并验证它们是否可以处理非ASCII值或为Unicode字符串进行重新调整。 这远远超出了编译器!
好吧,我是说,技术上这就是你要求的内容:
>>> x1 = 2
>>> x2 = 4
>>> locals()[u'Δx'] = x2 - x1
>>> print locals()[u'Δx']
2
dx
就可以了。 - arshajii