首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python -定义内部常量函数

Python -定义内部常量函数
EN

Stack Overflow用户
提问于 2019-09-05 08:29:36
回答 2查看 9.2K关注 0票数 14

考虑到Python中没有真正的常量,约定是在大写中将它们命名为传递意图。

在下面的示例代码中,FIRSTSECOND是常量:

代码语言:javascript
复制
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警告)

EN

回答 2

Stack Overflow用户

发布于 2019-09-05 08:36:12

根据PEP8,应该在模块级别定义常量,

常量通常在模块级别上定义,并以所有大写字母和下划线分隔单词。例子包括MAX_OVERFLOWTOTAL

在函数或方法中命名常量没有约定。

您可以:

  • 接受警告,或者
  • 压制它,或
  • 使用“普通”小写名称

在这种情况下,您也可以使用默认参数而不收到警告,但为了绕过PEP8约定警告,这看起来确实是过火了:

但是,这是适得其反的,因为您违反了一个约定,以避免收到关于违反另一个约定的警告。

票数 11
EN

Stack Overflow用户

发布于 2019-09-05 17:07:28

除了@DeepSpace提出的内容外,其他可能的选择是:(1)使用下划线前缀变量名称(如_FIRST_SECOND等);(2)编写类,并使常量类级常量。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57801418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档