gpt4 book ai didi

python-3.x - Python 如何知道 π 的所有这些变体都是相同的变量名?

转载 作者:行者123 更新时间:2023-12-03 13:19:19 27 4
gpt4 key购买 nike

在 Unicode 标准中,希腊字母 pi 有(至少)3 个变体,具有不同的代码点。但是,如果我将它们中的任何一个分配为 Python 对象的标识符,我也可以使用其他任何一个:

In [1]: π = 3.14
In [2]: print(π) # \u03c0
3.14

In [3]: print(𝛑) # \U0001d6d1
3.14

In [4]: print(𝜋) # \U0001d70b
3.14

Python 如何知道这些名称相同?

最佳答案

作为原始 PEP3131 explained :

All identifiers are converted into the normal form NFKC while parsing; comparison of identifiers is based on NFKC.

这也包含在 Identifiers and Keywords 中文档部分。

所以:

In [58]: pis = ["\u03c0", "\U0001d6d1", "\U0001d70b"]

In [59]: pis
Out[59]: ['π', '𝛑', '𝜋']

In [60]: [ord(pi) for pi in pis]
Out[60]: [960, 120529, 120587]

In [61]: import unicodedata

In [62]: [unicodedata.normalize('NFKC', pi) for pi in pis]
Out[62]: ['π', 'π', 'π']

In [63]: [ord(unicodedata.normalize('NFKC', pi)) for pi in pis]
Out[63]: [960, 960, 960]

关于python-3.x - Python 如何知道 π 的所有这些变体都是相同的变量名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50889843/

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