以下のQiita記事を参考
https://qiita.com/msi/items/d91ea3900373ff8b09d7
__init__.py の役割
- ディレクトリにより階層化されたモジュールを
importするために必要。 - モジュールの初期化処理を記載
- 名前空間の初期化
- ワイルドカード
importの対象の定義 (__all__の定義) - 同じディレクトリにある他のモジュールの名前空間の定義
モジュール内に記載された実行文は最初の import 時に一度だけ実行される。
その他参考