Правильный ответ — 2. Чтобы понять почему, нужно заглянуть в механизм работы
sys.modules и оператора from ... import.Этот пример наглядно показывает две особенности Python:
1. Импорт незавершенных модулей: Python позволяет импортировать модуль, который находится в процессе загрузки, если он уже попал в
sys.modules.2. Коварство
from ... import: Это не просто ссылка, а копирование текущих значений имен. Если вы измените скопированную переменную в другом модуле, оригинал не изменится... пока вы не импортируете его обратно.Если бы мы использовали строгие импорты имен, которых еще не существует в момент кругового вызова, мы бы получили
ImportError. from ... import * в данном случае «спасает» ситуацию, просто копируя то, что уже успело появиться в пространстве имен на момент вызова.📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека питониста
#буст