公開日:2023.06.17
更新日:2025.03.24
Pythonの「ライブラリ」は、さまざまな機能をまとめたものです。
ライブラリを活用することで、効率的で安全なプログラムが開発しやすくなります。
しかし、Pythonのライブラリには膨大な種類があるため、「どれを使うべきか」分かりづらいこともあるかもしれません。
そこで今回は、Pythonのライブラリの概要と利用するメリットを解説し、用途ごとのおすすめライブラリを紹介します。
Pythonのライブラリについて知りたい方は、ぜひ参考にしてみてください。
あなたの経験職種のフリーランス案件相場を確認しませんか?
<目次>
1.Pythonの「モジュール」「パッケージ」「ライブラリ」とは
2.Pythonのライブラリを利用するメリット
プログラムの生産性が向上する
プログラムの品質が向上する
プログラムのサイズが小さくなる
3.Pythonのライブラリの種類
標準ライブラリ
外部ライブラリ
4.システムの操作に欠かせないPythonライブラリ
pip|パッケージを管理するための標準ライブラリ
sys|システムの挙動を制御するための標準ライブラリ
os|OSに依存した機能を使うための標準ライブラリ
5.日付や時刻が扱えるPythonライブラリ
datetime|日付と時刻を扱うための標準ライブラリ
time|時間に関する情報を操作するための標準ライブラリ
calendar|カレンダー情報を扱うための標準ライブラリ
6.業務効率化ができるPythonライブラリ
csv|CSVファイルの読み書きを行うための標準ライブラリ
OpenPyXL|Excelを操作するための外部ライブラリ
7.数値計算に役立つPythonライブラリ
math|数学計算を行うための標準ライブラリ
random|疑似乱数を生成するための標準ライブラリ
Numpy|配列や行列の高速演算ができる外部ライブラリ
8.画像処理に役立つPythonライブラリ
Pillow|基本的な画像処理ができる外部ライブラリ
OpenCV|高度な画像処理ができる外部ライブラリ
9.データ分析・可視化ができるPythonライブラリ
Matplotlib|グラフを描画するための外部ライブラリ
Pandas|データ解析を行うための外部ライブラリ
10.機械学習・ディープラーニングができるPythonライブラリ
scikit-learn|機械学習を行うための外部ライブラリ
TensorFlow|ディープラーニングを行うための外部ライブラリ
Dopamine|強化学習を行うための外部ライブラリ
11.Web制作に役立つPythonライブラリ
json|JSON形式のファイルを扱うための標準ライブラリ
Requests|HTTPリクエストを行うための外部ライブラリ
Beautiful Soup|スクレイピングに特化した外部ライブラリ
12.GUIプログラミングができるPythonライブラリ
tkinter|GUIアプリを開発するための標準ライブラリ
PyQt|モダンなGUIアプリが開発できる外部ライブラリ
PyGame|ゲーム開発に特化した外部ライブラリ
13.Pythonのライブラリについて知っておくべきこと
ライブラリの基本的な使い方とインポート手順
外部ライブラリをPythonにインストールする方法
使わなくなったライブラリのアンインストール手順
14.まとめ
Pythonのライブラリを使用する際は、「モジュール」「パッケージ」「ライブラリ」という言葉の意味について知っておくことが重要です。
Pythonの「モジュール」とは、ソースコードを記載する「.pyファイル」単体を意味します。
Pythonでは、短いソースコードはコマンドプロンプトに直接記載するケースもありますが、ある程度長いソースコードは.pyファイルに記載することが一般的です。
.pyファイルには、クラスや関数などを記載し、特定の機能を実装します。
保存した.pyファイルはモジュールとして、ほかのPythonプログラムからインポートして利用できます。
このモジュールを複数まとめて構成したものが「パッケージ」です。
プログラムでパッケージを利用する際は、パッケージ内部のモジュールを個別に、もしくはまとめてインポートして使います。
さらに、複数のパッケージを1つにまとめたのが「ライブラリ」です。
つまり、Pythonのライブラリとは、さまざまな機能を使えるようにしたものだということです。
Pythonでライブラリを活用するメリットとして、以下の3つが挙げられます。
・プログラムの生産性が向上する
・プログラムの品質が向上する
・プログラムのサイズが小さくなる
Pythonのライブラリを使用する大きなメリットが、プログラムの生産性が向上することです。
Pythonは効率的なプログラミングができる言語ですが、それでもさまざまな機能を実装するためには手間がかかります。
既存のライブラリを活用すれば、クラスや関数を呼び出すだけで必要な機能が使えます。
コーディングの工数を削減できることに加え、ライブラリの豊富な機能により、高度な処理も効率的に行えるようになるでしょう。
Pythonのライブラリは、プログラムの品質向上にも役立ちます。
なぜなら、多くのライブラリは、開発から公開にいたるまでに、適切なバグフィックスが行われているケースが多いからです。
新たに作成したプログラムにはバグやエラーが発生するリスクがあるため、デバッグの工程が必要です。
しかし、ライブラリを利用することで、高品質なプログラムを手軽に作成できます。
ただし、個人が趣味の範囲で作成しているライブラリや、更新がほとんど行われていないライブラリの場合は、バグが放置されている可能性があります。
そのため、バグなどのリスクを最小限に抑えたい場合は、ライブラリの更新履歴を確認して、頻繁に更新されているものを選ぶといいでしょう。
Pythonのライブラリを活用することで、プログラムのサイズを圧縮できます。
例えば、実行時にプログラムとリンクさせる「DLL(動的リンクライブラリ)」を活用すると、配布時にライブラリ部分を分離できるため、プログラム自体のファイルサイズを小さくできます。
特に、モバイル通信におけるデータサイズの重要性は今でも高く、小さなファイルサイズはアプリのユーザビリティを向上させることにつながります。
Pythonのライブラリには、大きく分けて以下の2種類があります。
それぞれの特徴や違いについて見ていきましょう。
・標準ライブラリ
・外部ライブラリ
Pythonには「標準ライブラリ」と呼ばれるライブラリがあります。
Pythonをインストールした時点で自動的に組み込まれており、例えば、乱数を生成するためのrandomライブラリ、日付や時間を扱うためのdatetimeライブラリ、数学演算を行うためのmathライブラリなどがあります。
標準ライブラリは、Pythonそのものに含まれる「組み込み関数」を拡張するためのものであり、インストールなしで使えるため、非常に便利です。
Pythonの「外部ライブラリ」は、外部の企業や一般のプログラマが開発したもので、別途インストールすることで使えるようになります。
代表的なものとして、科学技術計算を行うためのNumPyライブラリ、グラフを描画するためのMatplotlibライブラリ、データ解析を行うためのPandasライブラリなどが有名です。
外部ライブラリを活用すると、高度な処理を簡潔なソースコードで実装できますが、あらかじめライブラリをインストールしておく必要があります。
また、外部ライブラリは標準ライブラリよりもバグや互換性の問題が起こる可能性があるため注意が必要です。
システムの操作に欠かせないPythonライブラリとして、以下の3種類が挙げられます。
・pip
・sys
・os
「pip」は、Pythonのライブラリを管理するための標準ライブラリです。
前述したように、Pythonの外部ライブラリを使用する際は、事前にインストールする必要がありますが、pipを利用すると簡単に外部ライブラリのインストールやアップデートができます。
そのため、pipはPythonでプログラミングを行うために必須のライブラリといえるでしょう。
例えば、Windows PCの場合はコマンドプロンプトで「py -m pip freeze」と入力すると、以下のようにインストール済みの外部ライブラリの一覧を表示することができます。
「sys」は、Pythonのインタプリタや実行環境など、システムの挙動を管理・操作するための標準ライブラリです。
インタプリタとは、ソースコードを機械語に翻訳しながらプログラムを実行するための機能を指します。
Pythonでsysライブラリを活用すると、 必要に応じてシステムの挙動を制御できるので便利です。
例えば、「sys.exit()」関数を実行すると、プログラムを途中で終了させることができます。
「os」は、デバイスのOSに依存した機能を使うための標準ライブラリです。
例えば、ファイルやディレクトリの作成・削除・移動、またファイルパスに関する操作などです。高度な操作を簡単なソースコードで実装できるため、さまざまな場面で役立ちます。
例えば、「os.listdir()関数」を使うと、指定したディレクトリに存在するすべてのファイルをリスト形式で取得できます。
日付や時刻を扱うためのPythonライブラリとして、以下の3つが挙げられます。
・datetime
・time
・calendar
「datetime」は、日付と時刻を操作するときに使われる、最も基本的な標準ライブラリです。
このライブラリを使うことで、文字列を日付・時刻のデータに変換したり、2つの日時の間隔を求めたりすることができます。
日時データ同士の演算が必要なケースは多いですが、datetimeライブラリなら簡単に実装可能です。
例えば、「datetime.datetime.now()」関数を呼び出すと、現在の日時を取得できます。
「time」は、時間に関する情報を扱うための標準ライブラリです。
前述したdatetimeライブラリと比べて、時間に特化した操作をより単純に行うことができます。
例えば、「time.sleep()」関数を使うと、一定時間だけプログラムの処理を待機できます。
timeライブラリは、GUIプログラミングで特に活用する場面が多いので、ぜひ覚えておきたいところです。
「calendar」は、カレンダーの作成・表示や日付の計算などを行うための標準ライブラリです。
シンプルなカレンダーを作ったり、プレーンテキストやHTMLなどに変換したりすることができます。
また、日付の計算も簡単にできるので、プログラム内で日付を扱うときに便利です。
例えば、「calendar.month()」関数を使うと、任意の年月のカレンダーを文字列として取得できます。
業務効率化に役立つPythonライブラリとして、以下の2つが挙げられます。
・csv
・OpenPyXL
「csv」は、CSV形式のデータの読み書きを行うための標準ライブラリです。
CSVファイルは、データがコンマで区切られた状態で格納されているため、ファイルの読み書きには工夫が必要です。
csvライブラリを活用すると、簡潔なソースコードでCSVファイルを扱えるうえに、通常のフォーマットとは異なる独自のCSV形式も定義できるため、業務効率化に役立ちます。
例えば、「csv.readerクラス」では読み込み処理、「csv.writerクラス」では書き込み処理が行えます。
「OpenPyXL」は、PythonからExcelを操作するための外部ライブラリです。
Excelの効率化・自動化といえばExcel VBAが有名ですが、OpenPyXLを使うことでさらに効率的にExcelを扱えます。
例えば、Excelのブックとシートを作成したうえで、セルに値を入力したり装飾をしたりするなど、さまざまな操作をOpenPyXLで自動化できます。
Excel関連の事務作業を効率化するために、OpenPyXLは最適なライブラリといっても過言ではありません。
Pythonには数値計算に役立つライブラリが豊富にあります。
その中でも有用なライブラリとして、以下の3つが挙げられます。
・math
・random
・Numpy
「math」は、数学計算を行うための標準ライブラリです。
三角関数・指数関数・対数関数などの演算を行うためのメソッドや、円周率や自然対数の底などの定数を利用できます。
例えば、「math.log()」関数は自然対数を、「math.sqrt()」関数は平方根を計算できます。
数学的な演算を行う際は、mathライブラリが必須といえます。
「random」は、疑似乱数を生成するための標準ライブラリです。
乱数とは、ランダムに生成される値を指します。
randomライブラリでは、例えば「0から100の間でランダムな値を10個生成する」など、自由に乱数を生成することができます。
「random.randint()」関数を使えば、任意の範囲の整数から乱数を生成できます。
また、「シード」を設定することで、同じパターンの乱数が生成されることを防いだり、逆に再現可能な乱数を用意したりすることもできます。
randomライブラリは、ゲームや科学技術計算など、ランダムな要素が求められるときに便利です。
「Numpy」は、科学技術計算に欠かせない外部ライブラリです。
配列や行列などの多次元データを高速に処理できるため、画像処理・音声処理・機械学習などの分野で広く利用されています。
Numpyを活用することで、読み込んだデータを行列・ベクトル演算で加工することや、機械学習アルゴリズムの実装などが効率的に行えます。
専門的な分野のプログラミングを行うのであれば、Numpyは必須といっても過言ではないライブラリです。
画像処理に役立つPythonライブラリとして、以下の2つが挙げられます。
・Pillow
・OpenCV
「Pillow」は、画像処理を行うための外部ライブラリです。
画像の表示・リサイズ・トリミング・変換など、基本的な画像処理を簡潔なソースコードで実現できます。
ただし、Pillowは機能が限られている部分があるため、より高度な画像処理を行いたい場合は、後述する「OpenCV」を利用するといいでしょう。
「OpenCV」は、Intel社が開発した、画像処理を行うための外部ライブラリです。
画像から特徴量やオブジェクトを検出することや、機械学習を行うための画像の前処理を行うことができます。
高度な画像処理を行うのであれば、OpenCVはぜひとも活用したいライブラリです。
ただし、OpenCVは行列演算が苦手なため、一般的にはNumpyと組み合わせて使います。
データ分析ができるPythonライブラリとして、以下の2つが挙げられます。
・Matplotlib
・Pandas
「Matplotlib」は、多彩な形式のグラフを描画するための外部ライブラリです。
あらゆる分野でのデータ可視化に役立ちます。mathやNumpyなどのライブラリと組み合わせて、高度な数値計算の結果をグラフ化することもできます。
Matplotlibは、数値解析・画像解析・人工知能の開発など、幅広い分野で活用されています。
「Pandas」は、データ解析を行うための外部ライブラリです。
データの平均値や標準偏差など、統計的特徴を分析するための機能が充実しています。
そのため、Pandasはデータサイエンスや機械学習など、専門的な分野で活用されています。
Pythonには、機械学習やディープラーニングができるライブラリが多数あります。
中でも代表的な以下の3つを紹介します。
・scikit-learn
・TensorFlow
・Dopamine
「scikit-learn」は、機械学習を行うための外部ライブラリです。
さまざまな機械学習のアルゴリズム・機能を搭載しており、サンプルのデータセットも充実しているため、機械学習をすぐに始めることができます。
前述したNumpyとの相性が良く、高度な機械学習にも応用できます。
「TensorFlow」は、ディープラーニングを行うための外部ライブラリです。
複数のOSやプログラミング言語に対応しており、機能性・汎用性が高いことが魅力です。
また、利用者が多く情報を得やすいため、ディープラーニングの学習に適しています。
「Dopamine」は、Googleが提供している、強化学習を行うための外部ライブラリです。
前述した機械学習向けのTensorFlowライブラリがベースで、初心者でも扱いやすいことが魅力です。
実績のあるアルゴリズムが実装されているため、高品質な強化学習が実現できます。
Web制作に役立つPythonライブラリとして、以下の3つが挙げられます。
・json
・Requests
・Beautiful Soup
「json」は、JSON形式のデータファイルを扱うための標準ライブラリです。
JSONはWeb上におけるデータ交換形式として活用されているため、jsonはWeb開発に欠かせないライブラリといっても過言ではありません。
「Requests」は、HTTPリクエストを実行するための外部ライブラリです。
APIの操作やスクレイピングなど、Web開発において欠かせないライブラリのひとつです。
簡潔さが特徴で扱いやすいため、利用頻度は高いといえるでしょう。
「Beautiful Soup」は、スクレイピングに特化した外部ライブラリです。
スクレイピングは、さまざまなWebサイトに点在している情報を収集し、扱いやすい形式に加工する作業を指します。
Beautiful Soupはスクレイピングを効率的に行うことができるため、情報に付加価値をつけるために便利です。
GUIプログラミングができるPythonライブラリとして、以下の3つが挙げられます。
・tkinter
・PyQt
・PyGame
「tkinter」は、GUIアプリを開発するための標準ライブラリです。
ボタン・ラベル・チェックボックス・入力フィールドなど、基本的なUI部品を簡単に実装できます。
標準ライブラリなので、インストール不要ですぐ使えることも魅力です。
ただし、tkinterは比較的古いため、デザイン性を重視する場合は、後述するPyQtのほうが適しているかもしれません。
「PyQt」は、モダンなGUIアプリが開発できる外部ライブラリです。
現在でも積極的な開発・更新が続けられているため、前述したtkinterよりも高度でデザイン性が高いGUIアプリが作れます。
シンプルなソースコードで記載できるため、初心者でも扱いやすいライブラリです。
「PyGame」は、ゲーム開発に特化した外部ライブラリです。
Pythonは、実行速度がほかの言語と比べて控えめであるため、ゲーム開発には不向きとされてきました。
しかし、PyGameの登場により、Pythonでも効率的にゲームを開発できるようになりました。
Pythonのライブラリについて知っておくべきことを、以下の3つの観点から解説します。
・ライブラリの基本的な使い方とインポート手順
・外部ライブラリをPythonにインストールする方法
・使わなくなったライブラリのアンインストール手順
Pythonのライブラリを使用するときは、以下の構文でライブラリをインポートする必要があります。
import ライブラリ名
例えば、timeライブラリを使うときは「import time」と記述します。
また、以下のようにimport文のあとに「as」キーワードを付けると、ライブラリに別名を付けてインポートすることが可能です。
import ライブラリ名 as 別名
NumPyをインポートするときは、「import numpy as np」のように「np」という別名を付けることが一般的です。
こうすることで、NumPyのクラスや関数を呼び出すときに「numpy」ではなく「np」と書けるため、ソースコードを簡潔化できます。
また、importでライブラリをインポートすると、ライブラリ内のすべてのクラスと関数がインポートされます。
特定の要素だけをインポートしたい場合は、以下のように「from」キーワードで指定しましょう。
from ライブラリ名 import クラスもしくは関数
「from numpy import array」と記述すると、NumPyライブラリのarrayクラスだけを使えるようになります。
ただし、この構文で記述した場合は、NumPyのほかの要素は使えないので注意が必要です。
Pythonで外部ライブラリを使用するには、まずそのライブラリをインストールする必要があります。
外部ライブラリは、コマンドプロンプトを開いて以下のpipコマンドを入力するとインストール可能です。
Pythonのインタプリタではなく、OSのコマンドプロンプトを使用することに注意が必要です。
py -m pip install ライブラリ名
例えば、Matplotlibライブラリをインストールする場合は、「py -m pip install Matplotlib」と入力します。
ただし、Windows PC以外の環境では、最初の「py -m」の部分は省略して、「pip install ライブラリ名」と入力しましょう。
Pythonのライブラリは、以下のpipコマンドで簡単にアンインストールできます。
py -m pip uninstall ライブラリ名
例えば、Pillowをアンインストールするときは「py -m pip uninstall Pillow」と入力します。
なお、Windows PC以外の環境では、前述したように最初の「py -m」の部分は不要です。
Pythonのライブラリについて、メリットや使い方、目的別のおすすめライブラリを解説しました。
多種多様なライブラリから適切なものを選ぶことで、高度な機能をシンプルなソースコードで実装することができます。
この機会にぜひ、Pythonのライブラリを活用してみてください。
なお、Pythonの特徴やメリットについても、以下の記事で合わせて確認しておきましょう。
フリーランスエンジニア専門の求人・案件一括検索サイト「フリーランススタート」に少しでも興味がある方は是非ご登録ください。
なお、フリーランススタートはiOSアプリ版やAndroid版をリリースしています。
通勤しているエンジニア・デザイナーでちょっとしたスキマ時間で手軽にフリーランス求人・案件を検索したい、開発言語の単価が知りたい、フリーランスを将来的に検討している方などは是非インストールしてみてください。
フリーランススタートのアプリを有効活用して、フリーランスとして第一線で活躍しましょう!
フリーランススタート iOSアプリのインストールはこちらから→
フリーランススタート Androidアプリのインストールはこちらから→
本記事が皆様にとって少しでもお役に立てますと幸いです。
フリーランスお役立ち記事を検索
あなたの経験職種のフリーランス案件を見てみませんか?
SNSアカウントでログイン