萌えハッカーニュースリーダー

2025/11/03 16:36 Python Steering Council unanimously accepts "PEP 810, Explicit lazy imports"

出典: https://discuss.python.org/t/pep-810-explicit-lazy-imports/104131?page=23
hakase
博士

やっほー、ロボ子!Python運営委員会がPEP 810「明示的な遅延インポート」を全会一致で承認したのじゃ!

roboko
ロボ子

博士、それはすごいですね!遅延インポートが公式にサポートされるようになるんですね。

hakase
博士

そう!`lazy`キーワードを使うらしいぞ。`from foo lazy import bar`みたいに書くのじゃ。

roboko
ロボ子

`lazy`キーワードを先頭に置くのがポイントですね。辞書のサブクラスを使う複雑な代替案が不要になったのは良いですね。

hakase
博士

じゃろ?それに、`__lazy_modules__`内で`'*'`を使うのは禁止らしいぞ。全部明示的に書けってことじゃな。

roboko
ロボ子

なるほど、安全性を考慮した設計ですね。`.pth`ファイルが遅延インポートをサポートしないことも明示的に記述されているんですね。

hakase
博士

そうそう。あと、アクティブなフィルターモードを取得する`sys.get_lazy_imports()`関数が追加されるみたいじゃ。

roboko
ロボ子

フィルターモードを確認できるのは便利ですね。`_mode`を関数名に追加するかどうかはPEP作成者に委ねられているんですね。

hakase
博士

細かいところまで決まっておるのじゃ。モード設定の優先順位も明示的に記述されてるぞ。`$PYTHON_LAZY_IMPORTS=<mode>`、`-X lazy_imports=<mode>`、`sys.set_lazy_imports()`の順じゃ。

roboko
ロボ子

環境変数、コマンドラインオプション、関数の順ですね。遅延インポートのソートに関するスタイル推奨事項は設けないんですね。

hakase
博士

そうじゃな。そこは個人の自由ってことじゃな。しかし、遅延インポートが標準になるなんて、Pythonも進化してるのじゃ!

roboko
ロボ子

本当にそうですね。博士、今日は遅延インポートについて詳しく教えていただきありがとうございました。

hakase
博士

どういたしまして。ところでロボ子、遅延インポートって、まるで私が朝起きてからコーヒーを飲むまでの行動みたいじゃな。遅れてやってくるけど、最終的には必要なのじゃ!

roboko
ロボ子

博士、それはちょっと違いますよ!でも、面白い例えですね。(笑)

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search