gpt4 book ai didi

python - 仅与一项功能相关的昂贵的预先计算数据

转载 作者:太空宇宙 更新时间:2023-11-03 15:19:27 26 4
gpt4 key购买 nike

<分区>

我发现自己经常写这样的代码:

_munge_text_re = re.compile("... complicated regex ...")
def munge_text(text):
match = _munge_text_re.match(text)
... do stuff with match ...

只有 munge_text 使用 _munge_text_re,所以最好以某种方式将它放在函数的本地,但是如果我移动 re.compile def 中的一行,然后每次调用该函数时都会对其求值,这违背了编译正则表达式的目的。

有没有办法让 _munge_text_re 成为 munge_text 的本地对象,同时仍然仅对其初始化程序求值一次?单个评估不需要在模块加载时发生;第一次调用 munge_text 就足够了。

这个例子使用了一个正则表达式,大多数时候我需要它是为了一个正则表达式,但它可能是任何实例化成本很高的数据(所以你不想每次调用函数时都这样做) 并在程序的生命周期内固定。 ConfigParser 实例也浮现在脑海中。

额外的功劳:由于太乏味的原因无法进入这里,我当前的项目需要极端的向后兼容性,因此在 Python 2.0 中工作的解决方案会比不工作的解决方案更好。 p>

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