【Python】モジュールとパッケージとライブラリの違いを1分で

Python

Pythonにおける、モジュールとパッケージとライブラリの違いについて解説します。

初心者の方ほど区別を曖昧にしがちですが、実際の現場では用語の意味を正確に理解しておくことが重要です。

このページで学べる内容
  • モジュールとパッケージの違い
  • ライブラリとは?
    • 標準ライブラリ
    • 外部ライブラリ
  • import文の使い方

Pythonエンジニアを目指す方であれば知らないと恥ずかしい基本知識ですので、是非最後までご覧ください。

スポンサーリンク

モジュールとは?

早速、それぞれの用語の意味を解説していきます。まずは、モジュール(module)から。

「モジュール」は、Pythonのファイル(.py)のことです。

後述しますが、import文を用いて「sample.py」をインポートすることで、「sample.py」に含まれる関数クラスを利用することができるようになります。

blank

上記のイメージの通り、モジュールとして扱うpyファイルの中には、クラス定義や関数定義などの定義文が中心に記述されています。

(つまり、他のプログラムから利用されることを前提にしたコードが書かれてるということです。)

モジュールと言っても、普通のプログラムファイルなので難しく考えなくてOKです。

パッケージとは?

続いてパッケージについて。

パッケージ(英:Package)とは、モジュールを複数集めたもののことです。

かつ、パッケージは同じフォルダの中に「__init__.py」が存在している点が特徴です。

__init__.py」には何も記述されていなくてもOK。

特定の機能を開発する際に、モジュールをインポートするだけでは不十分な場合が多くあります。「もっと、豊富な機能があれば、、、。」というお悩みに答えることができるのが、パッケージなのです。

パッケージの中のモジュールは、相互にimportしており機能が豊富に作りこまれています。

パッケージをimportするだけで、簡単に複雑な機能を実現できる場合が多いです。

イメージとしては、モジュールよりも豊富な機能を利用できて、より作りこまれているものがパッケージであると覚えておきましょう。

ライブラリとは?

では、ライブラリとは何でしょうか。

答えは、いくつかのパッケージをまとめたものとなります。

※もしくは、「関数やクラス、モジュールなどの他から呼び出せるものを総称して」ライブラリと呼ぶこともあります。

ライブラリも、他のプログラムにインポートされて利用されることを前提として作成されています。

ライブラリは大きく分けて2種類存在します。1つが、標準ライブラリ。もう1つが、外部ライブラリです。

標準ライブラリ

Pythonをインストールした時点で一緒にインストールされるライブラリです。

例えば、print関数。(これは初心者の方もよく使う関数かと思います。)

これは、標準ライブラリの中で定義されている関数の1つです。

したがって、事前に定義しなくても関数を利用することができます。何気なく利用している関数は大体標準ライブラリの中で定義されています。

外部ライブラリ

外部ライブラリとはその名の通り、標準に付属していないライブラリのことです。

したがって、まずはダウンロードを行い、その後に後述するimport文を利用してインポートしないと利用することができません。

実は、Pythonが近年伸びている背景には、この外部ライブラリが豊富に存在していることが挙げられます。Pythonは、簡単にデータをグラフ化したり、統計をとれるようにしたりすることが可能でAIと親和性が高いと言われますが、それはこの外部ライブラリのおかげなのです。

import文の使い方

最後に、モジュールやパッケージをプログラム内で利用する方法を解説します。

import文:構文ルール

import モジュール名

書き方は非常に簡単です。

import モジュール名
import パッケージ名

複数のモジュールやパッケージをインポートすることも可能です。

import文は、基本的にプログラムの1番初めに記載します。

部分的にインポートする場合

パッケージ全体ではなく、パッケージに含まれる特定のモジュールのみをインポートすることも可能です。

from パッケージ import モジュール

このようにすることで、パッケージの中の一部のモジュールのみをインポートすることができます。

処理をできるだけ軽くしたい場合などに、このようなインポートを行う場合があります。

Pythonを1から学習したい方は

Pythonをより実践的に学びたい―。実際にコーディングをしながら学びたい―。独学に限界を感じている―。

そんな方には、無料体験/オンライン完結もあるプログラミングスクールで学ぶのがおすすめです。都度検索しながら知識を補完していくのではなく、1から体系立てて学ぶことで短時間・かつ効率的にスキルハックすることが可能です。

各プログラミングスクールの特徴をまとめた記事をこちらに記載しておきますので、是非ご覧ください。

このWebサイトは現役のエンジニアが以下3点を目的として運営しています。

  1. 勉強:一度理解した内容を忘れないように。
    アウトプットは「最強のインプット」である!
  2. 備忘:忘れたとしても後から見返せるように。
    未来の自分への「お手紙」を書いています。
  3. 共有:〇〇ってこうだったんだ!の感動をシェアできるように。
    あなたの知識は誰かにとっての「価値ある情報」です。

副業ブログの始め方はこちらから

スポンサーリンク
Python
ビズドットオンラインをフォローする
blank
ビズドットオンライン
タイトルとURLをコピーしました