【发布时间】:2023-03-26 14:16:01
【问题描述】:
鉴于 Python 中没有真正的常量,惯例是以大写字母命名它们以传达意图。
在以下示例代码中,FIRST 和 SECOND 是常量:
def fibonacci_generator(count):
FIRST, SECOND = 0, 1
a, b = FIRST, SECOND
for _ in range(count):
yield a
a, b = b, a + b
print(list(fibonacci_generator(10)))
但是对于这两个常量,PyCharm 给出警告:
函数中的变量应为小写
还有其他正确的方法来定义函数中的常量吗? (不抑制 PyCharm 警告)
【问题讨论】:
-
我经常喜欢在函数中命名一些值,以便以后能够使用它来简化表达式。当我知道我以后不想更改该值时,我发现能够将其标记为常量很有帮助,以便让编译器或 IDE 在我(或其他维护人员)无意中更改初始值时警告我。在 c/c++ 中,我会用 const 标记变量,而在 java 中,我会将它标记为 final。这些不是像引力常数那样的“通用”常数,因为该值可能特定于函数每次运行时。所以使用模块常量是没有帮助的。