【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.pymodule2.pyというモジュールが含まれています。

これを使うには、次のようにインポートします。

import mypackage.module1

あるいは、特定の関数だけをインポートすることもできます。

from mypackage.module1 import some_function

3. ライブラリ(Library)

ライブラリは、関連するモジュールやパッケージを集めたものを指します。ライブラリは、特定の機能を提供するコードの集合体で、外部からインポートして使うことができます。例えば、NumPyやPandasなどはPythonのライブラリです。

ライブラリは1つ以上のパッケージやモジュールを含んでおり、特定の目的(例えば数学的計算、データ解析、Web開発など)に役立つ関数やクラスを提供します。

例:

NumPy: 数値計算を行うためのライブラリ。多くの数学的関数や配列操作が含まれる。

Pandas: データ解析を支援するライブラリ。DataFrameやSeriesなどのデータ構造を提供。

これらのライブラリは、通常、複数のモジュール(例えばnumpy.linalgpandas.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使わず)で示してください

内容チェック済。