Я python новичок ie
У меня очень простой вопрос о ссылках на модуль, но мне очень трудно понять.
Пожалуйста, посмотрите следующий код
есть 2 модуля
main_module.py
import sub_module
main_var = 1
if __name__ == "__main__":
print("main_var before calling submodule: " + str(main_var))
sub_module.change_main_var()
print("main_var after calling submodule: " + str(main_var))
sub_module.py
import main_module
def change_main_var():
print(main_module.main_var)
main_module.main_var = 10
print(main_module.main_var)
при запуске «python3 main_module.py» Я получил следующий результат
main_var before calling submodule: 1
1
10
main_var after calling submodule: 1
Мой вопрос: почему sub_module не может изменить main_var
Второй вопрос: как я могу позволить подмодулю менять main_var
Я знал, что это возможно для модуля, чтобы изменить переменную другого модуля, если последний не имеет main и main не является точкой входа в выполнение скрипта.
Спасибо