Я вижу поведение Python, которое я не понимаю. Рассмотрим этот макет:
project
| main.py
| test1.py
| test2.py
| config.py
main.py:
import config as conf
import test1
import test2
print(conf.test_var)
test1.test1()
print(conf.test_var)
test2.test2()
test1.py:
import config as conf
def test1():
conf.test_var = 'test1'
test2.py:
import config as conf
def test2():
print(conf.test_var)
config.py:
test_var = 'initial_value'
поэтому python main.py
произведет:
initial_value
test1
test1
Меня смущает последняя строка. Я думал, что он снова напечатает initial_value
, потому что я снова импортирую config.py
в test2.py
, и я подумал, что изменения, которые я сделал на предыдущем шаге, будут перезаписаны. Я что-то не понимаю?