我看到的是我不理解的python行为。考虑这种布局:
project
| main.py
| test1.py
| test2.py
| config.py
主.py:
import config as conf
import test1
import test2
print(conf.test_var)
test1.test1()
print(conf.test_var)
test2.test2()
试验1.py:
import config as conf
def test1():
conf.test_var = 'test1'
试验2.py:
import config as conf
def test2():
print(conf.test_var)
配置PY:
test_var = 'initial_value'
因此,
python main.py
生产:initial_value
test1
test1
我对最后一句话感到困惑。我以为它会再次打印
initial_value
,因为我再次导入config.py
中的test2.py
,而且我认为我在上一步中所做的更改将被覆盖。我误解了什么吗? 最佳答案
python缓存导入的模块。第二个import
调用不会重新加载文件。
关于python - 导入了Python模块;为什么重新分配其中的成员也会影响其他地方的进口?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39144498/