TGViewer
Библиотека собеса по Python | вопросы с собеседований Библиотека собеса по Python | вопросы с собеседований @py_interview_lib · 5.91K subscribers
Post #1421 499
Объясните, как устроен импорт в Python: роль sys.modules (кэш), цепочка sys.meta_path/finders/ModuleSpec/loaders, что происходит при циклических зависимостях, и почему importlib.reload() не «обновляет» ссылки в других модулях.

При import сначала проверяется sys.modules; если модуля нет, по sys.meta_path ищут spec, создают объект модуля, сразу кладут его в sys.modules (для разрыва циклов) и затем loader.exec_module() исполняет код. В циклическом импорте второй участник видит частично инициализированный модуль (атрибутов ещё нет) → AttributeError/тонкие баги. Помогает отложить импорт внутрь функций/блоков, импортировать модуль целиком вместо from X import Y. reload() переисполнить код в том же объекте модуля: старые ссылки в других модулях остаются на прежние объекты, состояние/сайд-эффекты не откатываются — безопасно только при продуманном, идемпотентном коде и контроле точек связывания. Для кастомных источников добавляют свои finders/ loaders в sys.meta_path; namespace-пакеты работают по PEP 420 без __init__.py.

Библиотека собеса по Python
More from @py_interview_lib
  1. Sep 15, 2026Как спроектировать безопасную плагинную систему без «грязных» импортов? Определите стабиль…
  2. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
  3. Aug 5, 2026У вас есть Python-сервис, который обрабатывает асинхронные запросы через asyncio. При нагр…
  4. Aug 5, 2026👅 Самое сложное — выбрать не курс, а направление Сегодня хочется разобраться в AI-агентах…
  5. Aug 5, 2026Покупать новый курс каждый раз, когда меняется рабочая задача, — довольно странная механик…
  6. Jul 30, 2026Как спроектировать CLI-утилиту с подкомандами, автокомплитом и хорошей тестируемостью? Пос…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →