gpt4 book ai didi

python - 在 Python 中定义 unicode 变量

转载 作者:太空宇宙 更新时间:2023-11-03 12:44:08 25 4
gpt4 key购买 nike

最近,我一直在阅读有关 Python 源代码编码的内容,尤其是 PEP 263PEP 3120 .

我有以下代码:

# coding:utf-8

s = 'abc∂´ƒ©'
ƒ = 'My name is'
ß = '˚ß˙ˆ†ˆ∆ ßå®åø©ˆ'
print('s =', s)
print('ƒ =', ƒ, 'ß =', ß)

此代码适用于 Python3,但在 Python2.7 中会导致 SyntaxError
我知道这可能与源代码编码无关。
所以,我想知道是否有办法在 Python2 中支持 Unicode 变量名。

总而言之,我也很难弄清楚 PEP 的确切目标是解决什么实际问题,以及我如何(以及在​​哪里)利用所提出的解决方案。我读过一些关于相同内容的讨论,但他们没有提供我的问题的答案,而是对正确语法的解释:

最佳答案

不,Python 2 只支持 ASCII 名称。来自 the language reference :

identifier ::=  (letter|”_”) (letter | digit | “_”)*
letter ::= lowercase | uppercase
lowercase ::= “a”…”z”
uppercase ::= “A”…”Z”
digit ::= “0”…”9”

比较长的多Python 3 version ,它确实有完整的 Unicode 名称。

PEP 解决的实际问题是,如果一个超过 127 的字节出现在源文件中(比如在一个 unicode 字符串中),那么 Python 无法知道那个字符指的是哪个字符,因为它可能是任何字符编码。现在它被默认解释为 UTF-8,并且可以通过添加这样的 header 来更改。

关于python - 在 Python 中定义 unicode 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46001437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com