__import__() 低レベルの import 関数

最終更新:2026-09-22

__import__() 低レベルの import 関数

__import__ は import 文が低レベルで呼び出す関数です;日常的には import 文を使ってください。動的インポートの場面でのみ使用します。

カテゴリ組み込み関数
種類組み込み関数
Python バージョンall

📝 構文

__import__(name, globals=None, locals=None, fromlist=(), level=0)

⚙️ 引数

name 必須The module name (string).
globals 任意The global namespace dict.(デフォルト値:None)
locals 任意The local namespace dict.(デフォルト値:None)
fromlist 任意Names of submodules or attributes to import.(デフォルト値:())
level 任意Relative import level; 0 means absolute.(デフォルト値:0)

戻り値:The top-level module object (not the attributes in fromlist).

💥 例外

▶ 例

下のコードを編集し「実行」をクリックすると、出力パネルに結果が表示されます:

実行結果:

4.0
⚠️ 警告 信頼できないモジュール名を動的に読み込むとセキュリティリスクがあります;日常的には import を使ってください。
さらに多くのケースは近日公開予定です。

❓ よくある質問

Q直接 __import__() を呼ばず import 文を使うのはなぜ?
Aimport 文は名前のバインドや fromlist の意味などの細部を処理します。__import__() は低レベルの実装関数にすぎず、日常のインポートには import を使いましょう。
Q__import__('math') は何を返しますか?
Amath モジュールオブジェクトを返します。ただし返るのはトップレベルモジュールである点に注意してください。import a.b では __import__ は b ではなく a を返します。
Q動的インポートには何を使いますか?
Aimportlib.import_module(name) を優先します。指定したモジュールを返しトップレベルではないため、__import__ より意味が明確です。
Q信頼できないモジュール名を動的インポートするのはリスクがありますか?
Aあります。任意のコードを読み込んで実行する可能性があるためです。モジュール名がユーザー入力に由来する場合は、必ずホワイトリストで厳しく検証してください。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%