Python の__init__.py
Shivam Arora
2022年1月23日
2021年10月19日

Python には、通常パッケージと名前空間パッケージという 2 種類のパッケージがあります。通常のパッケージは、Python 3.2 以前のバージョンに存在します。これらのパッケージは、暗黙的に呼び出されるか実行される __init__.py
ファイルを含むディレクトリとして使用されます。
Python の __init__.py
ファイルは、ディレクトリにモジュール内の Python コードが含まれていることをインタプリタに知らせます。このファイルには、他の Python モジュールと同じコードを含めることができます。
__init__.py
という名前のファイルは、ディレクトリに Python パッケージとしてフラグを立てるために使用されます。
例えば、
mydir/spam/__init__.py
mydir/spam/module.py
このファイルが削除されると、Python はディレクトリ内のサブモジュールを検索できなくなり、モジュールのインポートに失敗します。
Python で __init__.py
を使用する主な理由
__init__.py
を使用すると、他のユーザーはパッケージ内の関数の正確な場所を知ることができなくなります。
your_package/
__init__.py
file1.py
file2.py
...
fileN.py
__init__.py
を使用すると、上部のロギングなどの詳細を初期化するのに役立ちます。
import logging.config
logging.config.dictConfig(Your_logging_config)
__init__.py
は、ファイルのインポートを容易にするのに役立ちます。関数fn()
は、パッケージ内にある場合、ファイルfilename.py
からインポートできます。
from filename import fn()