Pythonは「豊富なライブラリがある」ことで非常に人気の高いプログラミング言語です。
ライブラリとは、特定の機能や処理を簡単に実現するためにまとめられたプログラムの集まりのことを指します。
Pythonには、データ分析、機械学習、Web開発、画像処理など、あらゆる分野に特化したライブラリが用意されており、それらを活用することで、初心者でも短期間で高度なアプリケーションを開発することができます。
この記事では、特に人気があり、よく使われるPythonライブラリをジャンル別に紹介し、それぞれの特徴や基本的な使い方をわかりやすく解説します。
これからPythonを学ぶ方も、すでにPythonに触れている方も、ぜひ参考にしてください。
標準ライブラリについて
Pythonには最初から多くの「標準ライブラリ」が組み込まれています。
これらは追加インストール不要で、すぐに利用できるのが特徴です。
標準ライブラリを活用することで、日常的なプログラミング作業がぐっと楽になります。
代表的な標準ライブラリ
- math:数学関数を使える
- datetime:日付・時刻の操作ができる
- os:ファイル操作やシステム情報の取得
- sys:Pythonの実行環境に関する操作
- random:乱数生成
- json:JSONファイルの読み書き
- re:正規表現による文字列操作
簡単な使用例
import math
print(math.sqrt(16)) # 4.0
標準ライブラリだけでもかなりの開発が可能です。まずはここから押さえましょう。
データ分析・科学計算系ライブラリ
データを扱う分野では、Pythonはほぼデファクトスタンダードになっています。
以下のライブラリは特に必須です。
NumPy
数値計算のためのライブラリです。配列操作、線形代数、統計処理などが得意です。
import numpy as np
a = np.array([1, 2, 3])
print(a * 2) # [2 4 6]
pandas
データフレーム(表形式データ)を扱うためのライブラリです。
CSVやExcelファイルの読み書きも簡単にできます。
import pandas as pd
df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
print(df)
matplotlib / seaborn
グラフ描画に特化したライブラリです。
matplotlibは基本的なグラフ、seabornはより美しいデザインのグラフを描けます。
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6])
plt.show()
機械学習・AI開発系ライブラリ
AI開発にもPythonは欠かせません。代表的なライブラリを紹介します。
scikit-learn
機械学習の定番ライブラリです。回帰、分類、クラスタリングなどが簡単に試せます。
from sklearn.linear_model import LinearRegression
model = LinearRegression()
TensorFlow / PyTorch
ディープラーニング(深層学習)に特化したライブラリです。
TensorFlowはGoogle製、PyTorchはFacebook製ですが、どちらも人気があります。
import torch
x = torch.tensor([1.0, 2.0, 3.0])
print(x)
初心者にはscikit-learn、中級者以上にはTensorFlowやPyTorchがおすすめです。
Web開発系ライブラリ
WebサイトやAPIを作る際によく使われるライブラリです。
Flask
軽量なWebアプリケーションフレームワークです。
簡単なサイトなら数行で立ち上がります。
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello, World!'
Django
大規模なWebアプリケーション向きのフルスタックフレームワークです。
認証機能や管理画面などが最初から備わっています。
どちらを選ぶかは、作るアプリケーションの規模によって決めるとよいでしょう。
画像処理・動画編集系ライブラリ
画像や映像を扱うならこれらが便利です。
Pillow
画像ファイルの読み込み、加工、保存などができます。
from PIL import Image
img = Image.open('example.jpg')
img.show()
OpenCV
より高度な画像処理、物体検出、顔認識などができます。
import cv2
img = cv2.imread('example.jpg')
cv2.imshow('Image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
OpenCVは本格的なコンピュータビジョン分野でよく使われます。
自動化・スクレイピング系ライブラリ
作業自動化やWebサイトから情報収集を行うならこちらです。
requests
Webページにアクセスしてデータを取得するためのライブラリです。
import requests
r = requests.get('https://www.example.com')
print(r.text)
BeautifulSoup
取得したHTMLデータを解析するためのライブラリです。
from bs4 import BeautifulSoup
soup = BeautifulSoup(r.text, 'html.parser')
print(soup.title.text)
この2つを組み合わせることで、Webスクレイピングが可能になります。
その他知っておきたい便利なライブラリ
最後に、ジャンルに縛られず便利なライブラリをいくつか紹介します。
tqdm
処理の進捗バーを表示できるライブラリです。ループの進捗が見える化できます。
from tqdm import tqdm
import time
for i in tqdm(range(10)):
time.sleep(0.1)
logging
エラーや動作ログを出力するための標準ライブラリです。
printよりも本格的なログ管理ができます。
import logging
logging.basicConfig(level=logging.INFO)
logging.info('This is an info message.')
pytest
Python用のテスト自動化ライブラリです。品質保証のために重宝します。
def add(x, y):
return x + y
def test_add():
assert add(2, 3) == 5
まとめ
Pythonは本当にたくさんのライブラリがあり、それぞれ専門分野で威力を発揮します。
この記事で紹介したライブラリを押さえておけば、ほとんどのPython開発に対応できるでしょう。
ポイントは、最初は全部覚えようとしないことです。
必要に応じて「こんなライブラリがある」と知識としてストックしておき、実際に必要になったときに使い方を詳しく調べる、という流れが理想です。
Pythonの世界は広く深いですが、ライブラリを味方につけることで、できることは無限に広がります。
ぜひ、自分の興味のある分野から、少しずつライブラリを使いこなしていきましょう!