Python __import__() 関数

Python3 組み込み関数


__import__()Python でモジュールを動的にインポートするための組み込み関数です。

__import__()であるimportimport 文の低レベル実装であり、実行時にモジュールを動的にインポートすることを可能にします。プラグインシステムや遅延ロードなどのシナリオで非常に役立ちます。

単語の意味: __import__ 是 Python 的内置导入函数。


基本構文とパラメータ

構文の書式

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

パラメータの説明

  • パラメータ name:
    • 型: 文字列
    • 説明: インポートするモジュール名。
  • パラメータ fromlist(オプション):
    • 型: タプル
    • 説明: モジュールからインポートするサブモジュールまたは属性のリスト。

関数の説明

  • 戻り値: インポートされたモジュールオブジェクトを返します。

実例

例1:基本的な使い方

実例

# モジュールを動的にインポート
os = __import__('os')
print(os.getcwd())  # 出力: 現在の作業ディレクトリ

# サブモジュールをインポート
requests = __import__('collections', fromlist=['Counter'])
print(requests.Counter)  # 出力: <class 'collections.Counter'>

実行結果:

モジュールをインポートする方法。

例2:動的インポート

実例

# 文字列に基づいてモジュールをインポート
module_name = "json"
mod = __import__(module_name)
print(mod.dumps({"key": "value"}))  # 出力: {"key": "value"}

# 複数のモジュールを動的にインポート
modules = ['math', 'random', 'datetime']
for name in modules:
    mod = __import__(name)
    print(f"{name}: {mod.__name__}")

# 遅延インポート(必要に応じて読み込み)
def get_module(mod_name):
    return __import__(mod_name)

math_mod = get_module('math')
print(math_mod.sqrt(16))  # 出力: 4.0

実行結果:

動的インポートは実際のアプリケーションでさまざまな用途があります。

__import__()Python の動的インポートメカニズムの中核です。


Python3 組み込み関数


その他の拡張