在大多数Python模块中,常量都是大写的,即:
{
datetime.MINYEAR
datetime.MINYEAR
locale
模块:
locale.LC_MONETARY
locale.LC_TIME
locale.DAY_1
os
模块:
os.PRIO_PGRP
os.PRIO_USER
但是在math
模块中,只有2个常量是小写的:
math.pi
和{
如果math
模块是第三方库,这可以解释,但它不是,它是标准库的一部分。在
是的,我知道在Python中没有可信的常量,但正如PEP 8所说,在大多数模块中都使用这种样式编写
那么,为什么这两个常量在Python中没有大写呢?有什么原因吗?在
您可以提交一个建议,为
math.e
和math.pi
引入大写别名。在因为在数学中e和pi都是小写的,我建议}。在
math.LOWERCASE_E
和{PEP 8创建于2001年7月5日,而这些常量至少自1990年以来就存在,如}也是小写(reference)。在
math
模块实现的this initial revision所示。tobias_k在他的评论中,IMHO做了一个很好的猜测,从数学家的角度来看,这个例子中的小写字母似乎更自然。另一个可能的原因是Python在ABC编程语言中是heavily influenced,其中{不过,我认为你是对的,这与普遍接受的编码风格规则(就像现在一样)不一致,不仅存在于Python中。在
还请注意,这不是唯一的不一致,PEP 8还提到
threading
模块在函数名方面与指南不一致:正如jonrsharpe在其评论中所指出的,不解决这一问题的明显原因也在PEP 8中提到:
也许添加符合准则的别名是个好主意,正如OP在下面的评论中提到的那样。在
相关问题 更多 >
编程相关推荐