gpt4 book ai didi

Python 何时评估导入的文件?

转载 作者:行者123 更新时间:2023-12-05 02:06:50 25 4
gpt4 key购买 nike

我希望问题的措辞有意义。我想要做的是更改文件中平面变量的值,并让导入该文件的文件看到更新后的值。看来我可以做到这一点。例如:

#settings.py
VARIABLE = 1
def change_variable():
global VARIABLE
VARIABLE = 2

#main.py
import settings
print(settings.VARIABLE)
settings.change_variable()
print(settings.VARIABLE)

哪些输出:

1
2

随心所欲。虽然我有点惊讶,因为我认为 settings.VARIABLE 的值可能会在导入设置后固定。我想知道我是否可以依赖这种行为。因此,我的问题也是,从导入文件的角度来看,导入文件中的值一般何时会被“更新”或“重新评估”?它在幕后是如何运作的?

我当然可以只上一个类。但我不喜欢将设置或任何配置作为对象的想法。我更喜欢它平坦。但我想要在导入后根据用户 cli 输入更改设置的选项。

最佳答案

导入文件 settings.py 后,python 将完成对文件的查看。它现在有一个模块加载到内存中,如果它被导入到其他地方,该模块将被加载到那里。第一次导入后,再也不会查看该文件。

您的函数更改了该模块中 VARIABLE 的值。你可以相信它是你的新值(value),除非你再次改变它。

关于Python 何时评估导入的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62312901/

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