Как изменить переменную основного модуля в подмодуле в python - PullRequest
0 голосов
/ 24 марта 2020

Я 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 не является точкой входа в выполнение скрипта.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...