Python

Pythonのモジュール、ライブラリを理解しよう

By 2021年3月16日No Comments

モジュール、パッケージ、ライブラリ

Pythonの学習を進めていく上で、これらの単語をよく目にすると思います。

「モジュールとライブラリって何が違うの?」

「そもそも何を意味しているの?」

このように感じたことがある人も多いのではないでしょうか。

この記事では、モジュール、ライブラリの意味とその違いや実際のプログラミングですぐに使える標準ライブラリ、外部ライブラリについて解説します。これらの内容は頻繁に使われるため、頭の中で整理しておくことで、効率よく学習を進めていきましょう。

モジュール、ライブラリとは

モジュール、ライブラリの意味とその違いについて説明していきます。

Pythonでプログラムを書くときには.pyファイルに実行したい内容を保存します。

例えば四則演算を以下のようなプログラムで行って答えを出力されることができます。

a = 10
b = 2

c = a + b # 加算
d = a - b # 減算
e = a * b # 乗算
f = a / b # 除算

print(c, d, e, f) # それぞれの答えを出力

プログラムを書くとき、そこまで長くなければ問題ないのですが、ボリュームのあるプログラムを書くときどうしても見にくくなってしまいます。

それだけではなく、どこで間違っているのかが分かりにくかったり、他の人が読んでもよくわからないといった弊害も起こります。

他にも、プログラムで別でも同じ処理を行うとき、毎回同じコードを書くのは面倒ですし、ミスをする確率も大きくなります。

そこで用いるのがモジュールです。モジュールとは、他のプログラムから再利用できるようにしたファイルのことを意味します。先程の四則演算を例にしてコードを見てみます。

# module.py 
def ex_sum(a, b):
    c = a + b
    return c  # 加算

def ex_diff(a, b):
    c = a - b
    return c  # 減算

def ex_multi(a, b):
    c = a * b
    return c  # 乗算

def ex_div(a, b):
    c = a / b
    return c  # 除算

module.pyに四則演算における関数(ある入力を入れたら決まった答えが返ってくるもの)が入っています。

実際に答えを出力するプログラムが以下のようなプログラムです。

# main.pyimport sample #

a = 10
b = 2

print(sample.ex_sum(a, b), sample.ex_diff(a, b),
sample.ex_multi(a, b), sample.ex_div(a, b)
)

プログラミングを行う上で、変数(aやb)が多すぎるとコードが見にくいだけでなく、ミスが多くなります。

モジュールを活用することで、変数の数が減り、見やすいコードになりました。

今回は簡単なコードなので大きな差はありませんが、プログラムが複雑になればなるほど、モジュールをうまく使うことが重要になります。

ライブラリとは、モジュールをあつめてできたパッケージを、さらにまとめて一つにしてインストールできるようにしたものです。

これらの関係を図に表すとこのようになります。

モジュールの中には関数が入っており、それを集めたものがパッケージ、さらにパッケージをいくつかまとめて、インストールできるようにしたものがライブラリです。

Pythonのライブラリは他のプログラミング言語に比べて重質しており、うまく活用すれば多くの機能を短時間で、シンプルなコードで実装できるようになります。

標準ライブラリとは

Pythonの標準ライブラリとは、Pythonにあらかじめ用意されているライブラリです。

そのため、標準ライブラリを使うことは、元々Pythonに備わっている便利な関数を使うことと言い換えることができます。

標準ライブラリには、

  • 組み込み関数
  • importによって呼び出すもの

の2種類があります。

組み込み関数はそのまま何もせずに使うことができます。print(), len(), min(), max()などが組み込み関数です。それ以外のモジュールは事前にimport文で読み込みが必要になります。

import モジュール名

このように、プログラムの最初に使いたいモジュールインポートします。

標準ライブラリの例

インポートが必要なモジュールをいくつか紹介します。

mathモジュール

数学で使う関数や定数が含まれています。

import math
print(math.pi)
print(math.e) # 自然対数
print(math.sqrt(9)) # 平方根
# 3.141592653589793
# 2.718281828459045
# 3.0

osモジュール

ファイルやディレクトリの操作をすることができます。

import os

os.mkdir("./food/flute")  # foodディレクトリの中にfluteディレクトリを作ります。
os.rename("./food/flute/apple.txt", Apple.txt)
# fluteディレクトリ内のapple.txtのファイル名をApple.txtに変更しています

datetimeモジュール

日付や時刻を取得することができます。

import datetime

time = datetime.datetime.now()
print(time)
# 2021-02-26 19:28:34.100731

標準ライブラリの一覧は、以下のPython標準ライブラリのサイトに載っています。

https://docs.python.org/ja/3/library/index.html

外部ライブラリ

Pythonに元々組み込まれておらず、外部から読み込む必要のあるライブラリを、外部ライブラリと言います。外部ライブラリは一度インストールしたら、標準ライブラリと同じようにimportで呼び出すことで利用することができます。

外部ライブラリの中でも、よく使われているものをいくつか紹介します。

Numpy

Numpyは多次元の配列を扱えるので、機械学習や画像処理、音声処理などでは欠かせないライブラリです。一般的な計算処理でも、Numpyを使うことでプログラムの処理速度を早くできたり、見やすいコードをかけるようになるなどの大きなメリットがあります。

Matplotlib

Matplotlibはグラフ描画ライブラリです。Matplotlibを使うと、様々なグラフやイメージを表示させることができ、数値解析や画像解析などのあらゆるシミュレーションにおいて使われています。上述のNumpyと組み合わせて使うことが多く、Numpyと共にデータ解析では必須のライブラリです。

Pandas

Pandasはデータ解析用のライブラリです。Pandasによって、基本的なデータを表示したりグラフ化するデータ解析から機械学習で必要な作業まで行うことができます。特にデータ分析の前処理を行うのに適したライブラリで、こちらもデータ解析には必須です。

まとめ

本記事では、モジュールやライブラリといった用語の説明とライブラリにはどのようなものがあるのかを解説しました。Pythonはモジュールやライブラリを使いこなすことで、本領が発揮されます。ぜひマスターして簡単に処理ができるようになりましょう。

Udemyの動画学習でもPythonを勉強しよう!

「平日の夜の勉強会には時間が間に合わなくて参加できない」「通勤時間のわずかな隙間時間を勉強時間にあてたい」「本ではよく分からないところを動画で理解を深めたい」そんなあなたはUdemyの動画学習がお勧めです!

UdemyのPythonおすすめ33講座レビューリスト
HOSL

Author HOSL

More posts by HOSL