在python 2中使用非ascii字符作为变量名

时间:2017-07-12 18:09:46

标签: python ascii

以下代码在到达第三行时返回“错误:语法无效”:

# -*- coding: utf-8 -*-
print “åäö”
ÅÄÖ = 4

尽管持有非ascii字符,print语句仍能正常工作。问题似乎是当非ascii字符用作变量名时。在python 3中执行此操作完全正常,我知道这是因为python 3和2处理字符串的方式不同,但我需要使用python 2出于各种原因。我真的觉得应该有一个非常简单的解决方案来解决这个问题,但经过几个小时的谷歌搜索后我还没有找到它。如果有人可以帮助我,我将非常感激!

[注意:能够在python 2.7中编写字母åäö对我来说非常有价值,部分原因是因为我对python中的编程相当新,并且非常喜欢在瑞典语中命名我的变量和函数,因为它使它们更容易与pythons内置函数分开。 ]

1 个答案:

答案 0 :(得分:4)

你不能这样做。语言语法规范根本不允许它用于Python 2.x:

https://docs.python.org/2/reference/lexical_analysis.html#identifiers

正如您已经发现Python 3已经改变了,其中语法允许在标识符中出现某些非ascii字符

https://docs.python.org/3/reference/lexical_analysis.html#identifiers

(请注意,标识符完全是字符串文字!)