Pythonの開発では、モジュール、パッケージ、ライブラリという3つの用語が頻繁に使われます。これらは関連性がありますが、それぞれ異なる意味と役割を持っています。それぞれの概念を理解することで、コードの整理、再利用、そして共有がより簡単になります。
モジュール | パッケージ | ライブラリ | |
---|---|---|---|
定義 | Pythonのファイル(.py) | モジュールの集まりのフォルダ | 関連するモジュールやパッケージの集まり |
目的 | コードの再利用 | モジュールの整理とまとめ | コードの再利用と整理 |
特別な点 | インポート可能 | init.pyファイルを含む | 機能や作業を簡単に行うためのコードの集合 |
このページでは、それぞれの概念の違いを端的に説明します。
Pythonエンジニアを目指す方であれば知らないと恥ずかしい超・基本知識の1つ。是非最後までご覧ください。
Pythonのモジュールとは
早速、それぞれの用語の意味を解説していきます。
まずは、モジュール(module)から。
Pythonのモジュールは、Pythonのソースコードを記述したファイルのことを指します。つまり、任意のPythonコードを含む.py
という拡張子のファイル全てがモジュールと呼ばれます。
例えば、以下のような内容のPythonファイルmymodule.py
を考えてみましょう。
# mymodule.py def hello(name): print(f"Hello, {name}!") pi = 3.1415926535
参考 def文
このファイルmymodule.py
はモジュールとして機能します。これらは以下のようにインポートすることで、他のPythonファイルから使用することができます。
# main.py import mymodule mymodule.hello('World') print(mymodule.pi) ### 出力結果 ### # Hello, World # 3.1415926535
Pythonのパッケージとは
Pythonのパッケージは、関連する複数のモジュールを整理し、一緒にするためのフォルダ(ディレクトリ)です。パッケージを使用することで、モジュールを整理し、名前空間を管理することが容易になります。
ざっくり説明すると、パッケージ(英:Package)とは、モジュールを複数集めたもののことと説明できます。
Pythonでは、特定のフォルダがパッケージとして認識されるためには、そのフォルダ内に__init__.py
という名前のファイルが必要です。
__init__.py
はパッケージの初期化を行うスクリプトであり、パッケージがインポートされたときに実行されます。__init__.py
は空でも構いませんが、このファイルが存在することで、Pythonはそのフォルダをパッケージとして扱います。
「__init__.py」には何も記述されていなくてもOK。
特定の機能を開発する際に、モジュールをインポートするだけでは不十分な場合が多くあります。「もっと、豊富な機能があれば、、、。」というお悩みに答えることができるのがパッケージ。
パッケージの中のモジュールは、相互にimportしており機能が豊富に作りこまれています。パッケージをimportするだけで、簡単に複雑な機能を実現できる場合が多いです。
このように、パッケージを使用することで、関連するモジュールを一緒にして整理することができます。また、名前空間を管理し、モジュール間での名前の衝突を避けることも可能にします。
Pythonのライブラリとは
Pythonのライブラリは、関連するモジュールやパッケージの集まりで、特定の機能や作業を簡単に行うために再利用できるコードの集合体を指します。
例えば、データ分析を行うためのpandas
ライブラリや、数値計算を行うためのnumpy
ライブラリ、ウェブスクレイピングを行うためのbeautifulsoup
ライブラリなどがあります。
ライブラリを使用することで、そのライブラリが提供する特定の機能や手続きを簡単に利用することができます。これにより、自分でその機能を一から実装する必要がなくなり、開発の効率が大幅に向上します。
例えば、次のコードはmath
ライブラリを使用して、数値の平方根を計算しています。
import math print(math.sqrt(16)) # 結果: 4.0
ここではmath
ライブラリのsqrt
関数を使用しています。sqrt
関数は平方根を計算する機能を提供しており、この機能を利用することで、自分で平方根を計算するロジックを実装する必要がありません。
このように、ライブラリは特定の機能や手続きを再利用可能な形で提供し、それによってコードの開発を助けます。
Python:標準ライブラリ
Pythonには、基本的な機能を提供する一連のライブラリが標準で付属しています。これらをまとめて「標準ライブラリ」と呼びます。
標準ライブラリには、日付や時間の処理を行うdatetime
、ファイルやディレクトリの操作を行うos
、数学的な関数を提供するmath
など、様々な基本的な機能を提供するモジュールが含まれています。
例えば、print関数(これは初心者の方もよく使う関数かと思います)。これは、標準ライブラリの中で定義されている関数の1つです。
標準ライブラリはPythonとともにインストールされるため、追加のインストールを必要とせずに使用することが可能。これにより、Pythonプログラムの作成に必要な基本的な機能が手元に常に揃っている状態を作り出せるのです。
Python:外部ライブラリ
外部ライブラリとはその名の通り、標準に付属していないライブラリのことです。
したがって、まずはダウンロードを行い、その後に後述するimport文を利用してインポートしないと利用することができません。
外部ライブラリには、Web開発を支援するDjango
、データ分析を容易にするpandas
、機械学習のためのscikit-learn
など、多岐にわたる機能を提供するライブラリがあります。これらのライブラリはPythonのパッケージ管理システムであるpip
を通じてインストールし、利用することができます。
これらの外部ライブラリは、特定の問題を解決したり、特定のタスクを実行するための高度な機能を提供するため、Pythonの強力なエコシステムの一部となっています。
モジュール/パッケージ/ライブラリのまとめ
これまで説明してきたように、モジュール、パッケージ、ライブラリはそれぞれ異なる概念ですが、密接に関連しています。それぞれがコードの再利用性を向上させ、管理を容易にする役割を果たしています。
始めてPythonを勉強するのは結構難しいですよね。
でもその悩みを抱えているのは一人じゃありません。全てのPython使いが同じ道を進んできました。
Pythonをはじめとするプログラミングスキルを武器に、時間と場所に捉われない自由な生き方を目指してみませんか?今すぐ行動したい方は以下の記事をチェック!
読者料典 Python入門:学習カリキュラム ←こちらから!