Python - モジュール、パッケージ、名前空間パッケージの概要

公開日:2019-03-08

1. 概要

モジュール、パッケージ、名前空間パッケージの概要です。

2. モジュール

モジュールとは、複数のクラスや関数が定義されたファイルのことです。
モジュールで定義されたクラスや関数は、モジュールをインポートすることにより、他のファイルでも使用することができます。
ファイル名から拡張子を除いたものがモジュール名となります。

フォルダ構成
├─ mod1.py(モジュール)
└─ mod2.py(モジュール)

3. パッケージ

パッケージとは、モジュールを複数含んだフォルダ(ディレクトリ)のことです。
パッケージ単位でモジュールをまとめてインポートすることができます。
フォルダ名がパッケージ名となります。

フォルダ構成
└─ calc(パッケージ)
     ├─ mod1.py(モジュール)
     └─ mod2.py(モジュール)

4. 名前空間パッケージ

名前空間パッケージとは、異なるパスにある同一パッケージ名のパッケージです。
名前空間パッケージは、同一パッケージとみなして、まとめてインポートできます。

pkg1 は異なるフォルダ構成にありますが、同一パッケージとみなされます。
フォルダ構成
├─ dir1
│    └─ pkg1
│         ├─ mod1.py(モジュール)
│         └─ mod2.py(モジュール)
└─ dir2
     └─ dir3
          └─ pkg1
               ├─ mod3.py(モジュール)
               └─ mod4.py(モジュール)