Не спорю, но импорт модулей и выполнение кода и так отложенное. Будет работать только то, что реально вызывается. Если у вас 1000 модулей, а импортируются при выполнении 3, то и загрузится только 3 + зависимые. Если объявляются объекты, то это всё пролетит на раз, т.к. выполнение модулей и объявление типов работает быстро.
Короче говоря, использовать ленивые вычисления можно, но не уверен, что при аккуратной организации модулей вы получите от ленивого кода выгоду.
Оригинальное решение, но, если честно, особого преимущества не даст. Как написано в официальной документации, в разделе Импорт кэшируется: «Для повышения эффективности веб-сервер сохраняет импортированные модули в памяти и не выполняет их повторную загрузку и анализ при последующих запросах от того же приложения на том же сервере.» Один раз загрузили, в другой раз отложенные вычисления = лишняя нагрузка, и никакой магии.
Короче говоря, использовать ленивые вычисления можно, но не уверен, что при аккуратной организации модулей вы получите от ленивого кода выгоду.