TGViewer
Zen of Python Zen of Python @zen_of_python · 18.8K subscribers
Post #5015 605
Как вручную разрешить ленивый импорт в Python

У объекта, созданного через lazy import json, есть метод resolve(). Его можно обнаружить с помощью dir(globals()["json"]), а справка поясняет: метод разрешает ленивый импорт и возвращает настоящий объект модуля.

Вызов globals()["json"].resolve() возвращает модуль json, но имя в глобальном пространстве по-прежнему указывает на объект lazy_import. Автор предполагает, что при автоматическом разрешении Python вызывает тот же метод, а затем присваивает имени полученный модуль.

В этот раз «явное лучше неявного» можно понимать буквально. В разборе показано, как исследовать этот механизм через dir() и help(); открытым остаётся вопрос, что именно запускает автоматическое разрешение импорта.
More from @zen_of_python
  1. Sep 26, 2026Как собирать динамические фильтры Django через Q-объекты Q() представляет условие для SQL-…
  2. Sep 26, 2026Почему str.splitlines() видит больше переносов, чем чтение файла У Python два разных понят…
  3. Sep 25, 2026Почему Python предупреждает о последовательности \477 и как это исправить В строках Python…
  4. Sep 25, 2026Как запускать Python-код в песочнице на MicroPython и WebAssembly В проектах Саймона Уилли…
  5. Sep 25, 2026Как emojet ускоряет работу с эмодзи в Python Библиотека emojet преобразует названия в эмод…
  6. Sep 24, 2026Как читать многострочный ввод в Python REPL несколько раз Вызов open(0).read() читает стан…
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 →