Остановка WebStorm в точках останова даже после того, как я удалил (или отключил) их & mdash; Реагировать приложение

В прошлом году на comp.lang.python было очень хорошее обсуждение этого вопроса. Он очень хорошо отвечает на ваш вопрос.

Импорт довольно прост. Просто помните следующее:

'import' и 'from xxx import yyy' являются исполняемыми операциями. Они выполняются, когда запущенная программа достигает этой строки.

Если модуль отсутствует в sys.modules, тогда импорт создает новую запись модуля в sys.modules и затем выполняет код в модуле. Он не возвращает управление вызывающему модулю до тех пор, пока выполнение не завершится.

Если модуль существует в sys.modules, тогда импорт просто возвращает этот модуль, завершил ли он выполнение. Вот почему циклический импорт может возвращать модули, которые кажутся частично пустыми.

Наконец, исполняемый скрипт работает в модуле с именем __main__, при импорте скрипта под собственным именем будет создан новый модуль, не связанный с __main __.

Возьмите эту партию вместе, и вы не должны получать никаких сюрпризов при импорте модулей.

0
задан LazyOne 17 January 2019 в 20:40
поделиться