【Python】ライブラリ、パッケージ、モジュールの違い【初学者向け】
更新月:2025/1
Pythonにおけるライブラリ、パッケージ、モジュールの違いの説明記事になります。
Pythonのライブラリ、パッケージ、モジュールについて
Pythonにおけるライブラリ、パッケージ、モジュールは、それぞれ異なる意味を持ちます。以下にその違いを簡潔に説明します。
1. モジュール(Module)
モジュールは、Pythonのコードが記述されたファイル(通常は.py
ファイル)を指します。モジュールは、Pythonの機能やクラス、関数、変数などが定義された1つの単位です。モジュールを使うことで、コードを再利用可能な形で整理し、他のプログラムからそのコードをインポートして使うことができます。
例:
# math.py (モジュール) def add(a, b): return a + b def multiply(a, b): return a * b
他のコードからこのモジュールを使うには、import
文でインポートします。
import math result = math.add(3, 4)
2. パッケージ(Package)
パッケージは、複数のモジュールをまとめたディレクトリ(フォルダ)のことです。パッケージは、関連するモジュールを階層的に整理するための方法で、通常はパッケージ内に__init__.py
という特別なファイルを含んでいます(このファイルがディレクトリをパッケージとして認識させます)。
パッケージを使うことで、大規模なプロジェクトをモジュール単位で管理しやすくなります。
例:
mypackage/ __init__.py module1.py module2.py
mypackage
はパッケージであり、その中にmodule1.py
とmodule2.py
というモジュールが含まれています。
これを使うには、次のようにインポートします。
import mypackage.module1
あるいは、特定の関数だけをインポートすることもできます。
from mypackage.module1 import some_function
3. ライブラリ(Library)
ライブラリは、関連するモジュールやパッケージを集めたものを指します。ライブラリは、特定の機能を提供するコードの集合体で、外部からインポートして使うことができます。例えば、NumPyやPandasなどはPythonのライブラリです。
ライブラリは1つ以上のパッケージやモジュールを含んでおり、特定の目的(例えば数学的計算、データ解析、Web開発など)に役立つ関数やクラスを提供します。
例:
NumPy: 数値計算を行うためのライブラリ。多くの数学的関数や配列操作が含まれる。
Pandas: データ解析を支援するライブラリ。DataFrameやSeriesなどのデータ構造を提供。
これらのライブラリは、通常、複数のモジュール(例えばnumpy.linalg
やpandas.io
)を内包しています。
import numpy as np arr = np.array([1, 2, 3])
まとめ
- モジュール(Module): 1つのPythonファイル(
.py
)で、関数やクラスなどのコードをまとめたもの。 - パッケージ(Package): 複数のモジュールをまとめたディレクトリ(フォルダ)で、
__init__.py
ファイルを含む。 - ライブラリ(Library): 複数のモジュールやパッケージをまとめたもので、特定の目的(例えば数学計算やデータ解析)に関連する機能を提供する。
このように、モジュールは最小単位、パッケージはその集合、そしてライブラリはさらに大きな集合と考えることができます。
関連記事
外部リンク
生成AIメモ
- 利用AI:ChatGPT 4o mini、一部利用
- プロンプト1:pythonのライブラリ、パッケージ、モジュールについて違いが分かる説明をお願いします。
- プロンプト2:先程の内容をhtml形式(style使わず)で示してください
内容チェック済。