【Python】モジュールとパッケージ、ライブラリの違い

こんにちは!

皆さんはPythonの学習を進めていく中で「モジュール」「パッケージ」「ライブラリ」という言葉を聞いたことはありませんか?

Pythonを学習している方には、モジュールとパッケージ、ライブラリのどれも、「importするやつ」といった認識はあると思います。

しかし、モジュールとパッケージ、ライブラリの違いを意識したことがある人は少ないかもしれません。

違いを考えずに今まで使っているのかもしれませんが、違いを押さえておくと、Pythonを勉強する上で理解が深まりますよ!

そこで今回は、その3つの違いについて簡単に説明していきます。

軽く、それぞれのインポートの方法も紹介しているので、そんなのバッチリだよ!という方は、まとめまで飛んでいただいて大丈夫です!


1. モジュール

1.1モジュールとは

Pythonのモジュールというのは、拡張子「.py」のファイルのことです。

モジュールには関数やクラスが定義されています。

1.2 モジュールのインポート

モジュールをインポートするには、

import モジュール名

とするだけです。

例えば、mathモジュールを読み込みたい場合には、

import math

とします。普通ですね!


2. パッケージ

2.1 パッケージとは

Pythonのパッケージとは、同じような機能、動作のモジュールを集めたディレクトリのことです。


2.2 パッケージのインポート

パッケージをインポートする場合は、

import パッケージ名

としても良いのですが、無駄なモジュールが多くインポートされてしまいます。

インポートするパッケージを絞るには、

import パッケージ名.子ディレクトリ名

とします。少しわかりづらいので具体例を見ていきましょう。

次の画像はsklearnパッケージのディレクトリ構成の一部です。赤の矢印の「cluster」 というパッケージを読み込む場合は、

import sklearn.cluster

とすることによってsklearn内のclusterパッケージのみをインポートすることができます。

また、パッケージ内の1つの関数のみをインポートすることもできます。

例えば、clusterパッケージ内の「KMeans関数」を読み込む場合は、

from sklearn.cluster import KMeans

とすることで、KMeans関数のみを読み込むことができます。

この方法はモジュールでも使用できるので、確認しておきましょう。


3. ライブラリ

3.1 ライブラリとは

Pythonのライブラリに関しては、私が調べた限りでは、具体的な定義はありませんでした。モジュールのことをライブラリと呼んだり、パッケージのことをライブラリと呼んだりと様々な使用法があるみたいです。

私の経験では、規模の大きいパッケージなどがライブラリとよく呼ばれているような気がします。

上の例で出てきた「sklearn」は、パッケージが集まってできたsklearnパッケージという認識なのですが、どちらかというとsklearnライブラリと呼ばれることが多いと感じます。

ライブラリと出てきたら、モジュールやパッケージのことを指してるんだということを覚えておきましょう。


4. まとめ

いかがでしたか?

モジュール、パッケージ、ライブラリの違いについて理解できたでしょうか?

  • モジュールは、拡張子「.py」のファイルで、関数やクラスが定義されている。
  • パッケージは、モジュールを集めてできたディレクトリのこと。
  • ライブラリは、定義は曖昧で、モジュール、パッケージのことを指す。

上記の3つは、カタカナで、しかも文字数も同じで覚えにくいですが、ぼんやりとでも覚えておいて、この3つの言葉が出てきたときに混乱しないようにしましょう!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です