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

问题描述 投票:0回答:1

以下代码在到达第三行时返回“Error: Invalid Syntax”:

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

尽管包含非 ASCII 字符,打印语句仍能正常工作。问题似乎出在使用非 ASCII 字符作为变量名时。在 Python 3 中执行此操作完全正常,我知道这是因为 Python 3 和 2 处理字符串的方式不同,但出于各种原因我需要使用 Python 2。

能够在 Python 2.7 中编写字母 åäö 对我来说非常有价值,部分原因是我对 Python 编程相当陌生,并且非常喜欢用瑞典语命名我的变量和函数,因为这使它们更容易与 Python 分开 -内置功能。

python ascii python-2.x
1个回答
6
投票

你不能这样做。语言语法规范根本不允许 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

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

© www.soinside.com 2019 - 2024. All rights reserved.