Pythonモジュールのインポート順序はどのように決まるのか
Pythonモジュールのインポート順序は次のとおりです。
- 最初に、インタプリタはインポートすべきモジュールをビルトインモジュール群で探します。これらのビルトインモジュールには、sys、os、mathなどが含まれます。
- モジュールが組み込みモジュールでない場合、Python標準ライブラリでモジュールを検索。標準ライブラリはファイルの処理、ネットワーク通信、日時などのさまざまな機能を提供するPythonモジュールの集合です。
- 標準ライブラリにモジュールがない場合、インタープリタはシステムにインストールされているサードパーティライブラリを検索します。サードパーティライブラリは他の開発者が書いたモジュールで、pipなどのパッケージ管理ツールからインストールできます。
- 最後に、インタプリタは現在の作業ディレクトリ内でモジュールを検索します。現在の作業ディレクトリ内に同名のモジュールが見つかった場合、優先的にそのモジュールがインポートされます。
メモしておくと、Pythonのモジュールインポートは一度限りの操作となります。モジュールがインポートされると、インタプリタがそれをメモリ上にロードし、その名前空間にある変数と関数が他のコードで使用可能になります。モジュールを再インポートする必要がある場合は、インタプリタを再起動するか、importlib.reload関数を使用する必要があります。