以下代码在到达第三行时返回“错误:语法无效”:
# -*- coding: utf-8 -*-
print “åäö”
ÅÄÖ = 4
尽管持有非ascii字符,print语句仍能正常工作。问题似乎是当非ascii字符用作变量名时。在python 3中执行此操作完全正常,我知道这是因为python 3和2处理字符串的方式不同,但我需要使用python 2出于各种原因。我真的觉得应该有一个非常简单的解决方案来解决这个问题,但经过几个小时的谷歌搜索后我还没有找到它。如果有人可以帮助我,我将非常感激!
[注意:能够在python 2.7中编写字母åäö对我来说非常有价值,部分原因是因为我对python中的编程相当新,并且非常喜欢在瑞典语中命名我的变量和函数,因为它使它们更容易与pythons内置函数分开。 ]
答案 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
(请注意,标识符完全是字符串文字!)