gpt4 book ai didi

python - 用计算值声明模块级常量的 pythonic/更快的方法是什么?

转载 作者:行者123 更新时间:2023-11-28 20:10:51 30 4
gpt4 key购买 nike

我正在编写一个实用模块来轻松处理数据文本文件。我已经声明了一些模块级常量来为我的方法参数提供默认值,因为现在我只使用这些值,但我希望我的代码能够轻松适应。

但是有些常量不容易硬编码。例如 repattern 对象我只能通过 re.compile 获得。所以我写了

import re

_my_fine_pattern_string = r"some obnoxious regex"
MY_FINE_PATTERN = re.compile(_my_fine_pattern_string)

def spam(eggs):
...

它昨天在我直接执行的脚本中运行。但现在我想知道。这段代码会在 import 上执行吗?它会减慢执行速度吗?我这样做会被烧死吗?有更好/更快的方法吗?

最佳答案

是的,这很好。它将在导入时执行。如果你有大量的计算要做(re.compile 不是),它会减慢导入速度——但这是应该的,因为你需要常量来做无论如何你的工作。

为什么要使用双下划线名称?如果要导出常量,则它们不应该使用下划线作为前缀,如果不是,那么它们应该有一个下划线。 ( double 在类继承的上下文中具有特定含义,但通常不应在其他任何地方使用。)

关于python - 用计算值声明模块级常量的 pythonic/更快的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6059519/

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