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

公開日:2019-03-08 更新日:2019-05-14
[Python]

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(モジュール)