如何在Python 3中将Unicode字符用作变量?

O.r*_*rka 1 python variables unicode object

我一直在尝试找出如何将非ascii unicode字符用作Python 3变量,但是我不确定哪个可以工作,哪些不可以。为什么要?工作但?不工作?是否可以?用作角色或目前无法使用?

# Version
sys.version
'3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 12:04:33) \n[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)]'

? = 10
print(? )
# 10

? = 20
#   File "<ipython-input-24-b5e030117292>", line 1
#     ? = 20
#     ^
# SyntaxError: invalid character in identifier
Run Code Online (Sandbox Code Playgroud)

aba*_*ert 5

在Python参考中的“ 标识符”下有记录。

但是简短的版本是,您只能使用字母和数字以及标识符中的一些特殊连接符,并且?U+2206INCREMENT)不是字母,它是数学运算符(属于Symbol, Math类别)。

如果您打算使用?U+0396GREEK CAPITAL LETTER DELTA)…好吧,这是一个可以理解的错误,因为它们不仅在大多数字体中看起来非常接近或完全相同,而且即使在黑板上书写时也通常无法区分(“增量”符号的重点是这是一个三角洲)。但是它们不是相同的字符,只有一个打算用作字母的字符才能成为变量名的一部分。

此外,文档中提到但未链接到Python标准所基于的Unicode标准,因此这里是链接:UAX-31:Unicode标识符和模式语法(又名TR-31)。