gpt4 book ai didi

unicode - python 源代码中允许使用某些 utf8 字符,有些则不允许

转载 作者:行者123 更新时间:2023-12-04 07:41:46 25 4
gpt4 key购买 nike

我注意到我不能在我的 python 源代码中使用所有 unicode 字符。

尽管

def 价(何):

完全没问题(尽管荒谬[可能?]),
def N(N₀, t, λ) -> 'N(t)':

这是不允许的(即下标零)。

我也不能使用其他一些字符,其中大部分我认为是字母以外的东西(例如数学运算符)。我一直认为只要按照我知道的规则,即由字母和数字组成名称,以字母为第一个字符,一切都会好起来的。现在,下标零显然是一个“数字”。所以我的印象是错误的。

我知道我应该避免使用特殊字符。然而,上面的函数定义(指数衰减函数)在我看来是完全合理的——因为它永远不会改变,而且它非常优雅地传达了另一个程序员使用它所需的所有信息。

因此,我的问题是,究竟允许哪些字符,哪些不允许?在哪里?

编辑
好吧,我似乎还不够清楚。我使用的是python3,所以不需要声明源文件的编码。显然我从那时起就认为我的中文函数定义有效。

我的问题涉及为什么允许某些字符出现在那里,而其他字符则不允许。
下标零引发错误 , 标识符中的无效字符, 但黑板加粗零有效。 我想说两者都同样特别。

我想知道是否有任何一般规则不仅适用于我的情况,必须有。看来我的错误并非偶然。

编辑2:

回答 由 Beau Martínez 提供,将我指向语言引用,我应该首先查看:

http://www.dcl.hpi.uni-potsdam.de/home/loewis/table-3131.html
看起来允许的字符都被选中了。

最佳答案

根据 language reference , Python 3 允许使用多种字符作为标识符。

那个零下标字符看起来像一个数字,但它不适用于 Python; Python 仅将 0、1、2、3、4、5、6、7、8 和 9 视为数字。它实际上是一个字符,因此您可以将其用作标识符(就像它是,而不是,例如,希腊字符,如 Phi)。

重要的是,您用键盘输入这些字符有多容易?例如,我不想每次必须调用您的函数时都拉出字符映射。将其称为“maximum_decay_rate”或对任何用户(而不仅仅是物理专业)更直观的东西,会使您的代码更具可读性。

如果你说不允许,那可能是因为你没有指定 character encoding为您的源文件。可以通过 # -*- coding: utf-8 -*- 来指定(或任何编码)在源文件的开头。

关于unicode - python 源代码中允许使用某些 utf8 字符,有些则不允许,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3474600/

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