考虑到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警告)
发布于 2019-09-05 08:36:12
根据PEP8,应该在模块级别定义常量,
常量通常在模块级别上定义,并以所有大写字母和下划线分隔单词。例子包括
MAX_OVERFLOW和TOTAL。
在函数或方法中命名常量没有约定。
您可以:
在这种情况下,您也可以使用默认参数而不收到警告,但为了绕过PEP8约定警告,这看起来确实是过火了:

但是,这是适得其反的,因为您违反了一个约定,以避免收到关于违反另一个约定的警告。
发布于 2019-09-05 17:07:28
除了@DeepSpace提出的内容外,其他可能的选择是:(1)使用下划线前缀变量名称(如_FIRST、_SECOND等);(2)编写类,并使常量类级常量。
https://stackoverflow.com/questions/57801418
复制相似问题