標準ライブラリで特に便利なPythonモジュール13選を徹底解説
Pythonは「バッテリー同梱(batteries included)」という思想のもと設計されており、外部パッケージをインストールしなくても、標準ライブラリだけで多くのタスクをこなせます。本記事では、日常的な開発で特に役立つ標準ライブラリのモジュールを厳選して紹介します。
数学・乱数関連のモジュール
math ― 基本的な数学関数
平方根、対数、三角関数、円周率など、数学的な計算に必要な関数が揃った基本モジュールです。
import math
print(math.sqrt(16)) # 4.0
print(math.pi) # 3.141592653589793random ― 疑似乱数の生成
ランダムな数値の取得や、リストからの無作為抽出、シャッフルなどに使える疑似乱数モジュールです。シミュレーションやゲーム開発でも頻繁に登場します。
import random
print(random.randint(1, 10)) # 1〜10の整数をランダムに
print(random.choice(['a', 'b', 'c'])) # 要素を1つ選択テキスト処理のモジュール
re ― 正規表現による強力なテキスト操作
正規表現を扱うためのモジュールで、パターンマッチング、文字列の検索・置換・分割など、テキスト処理において非常に強力な機能を提供します。ログ解析やデータクレンジングには欠かせません。
日付・時刻のモジュール
datetime ― 日付と時刻の基本操作
現在の日付・時刻の取得、日付の加減算、書式変換などを行える基本的なライブラリです。タイムゾーンを考慮した処理にも対応しています。
データ形式の扱い
json ― JSONのエンコード・デコード
JSONとPythonの辞書(dict)を相互変換したり、JSONファイルの読み書きや編集を行ったりするためのモジュールです。Web APIとの連携ではほぼ必須と言えます。
システム・OSとの連携
os ― オペレーティングシステムとのやり取り
ファイルやディレクトリの操作、環境変数の取得、パスの結合など、OSレベルの操作を行うためのモジュールです。近年はより高機能な pathlib と組み合わせて使われることも多いです。
io ― ストリームの操作
メモリ上の文字列やバイナリデータをファイルのように扱えるストリーム操作用モジュールです。入出力の抽象化が必要な場面で活躍します。
copy ― 浅いコピーと深いコピー
オブジェクトの浅いコピー(shallow copy)と深いコピー(deep copy)を行うためのモジュールです。ネストされたリストや辞書を複製する際に、参照の共有による意図しない副作用を防げます。
データベース連携
sqlite3 ― 軽量データベースSQLiteへの接続
サーバー不要の軽量データベース「SQLite」とやり取りするためのモジュールです。小規模アプリケーションやプロトタイプ開発、学習用途に最適で、SQLの実行も簡単に行えます。
並行処理のモジュール
multiprocessing / threading ― プロセスとスレッドの作成
multiprocessing は複数プロセスを、threading は複数スレッドを生成して並行処理を実現します。CPU負荷の高い処理にはmultiprocessing、I/O待ちが多い処理にはthreadingが適しています。
Web・ネットワーク関連のモジュール
urllib ― URL操作とHTTP通信
URLの解析、HTTPリクエストの送信、レスポンスの処理などを行うモジュール群です。手軽なWebスクレイピングやAPIアクセスに利用できます。
http ― HTTPサーバーの構築など
簡易的なHTTPサーバーの作成やHTTPステータスの管理などができるモジュールです。検証用サーバーを素早く立ち上げたいときに便利です。
国際化対応
locale ― プログラムの国際化(i18n)
数値や日付の表示形式を地域ごとの慣習に合わせて変更できるモジュールです。多言語・多地域向けのアプリケーションを開発する際に役立ちます。
まとめ
Pythonの標準ライブラリだけでも、数学計算からテキスト処理、データベース操作、並行処理、Web通信まで幅広いニーズに対応できます。まずは json・re・os・datetime のあたりから使い込んでみると、Python開発の生産性が大きく向上するでしょう。
-
Pythonのfrom...import文とは?特定の関数だけをスマートにインポートする方法
Pythonでは、モジュール全体を読み込む代わりに、必要な関数やクラスだけを選んでインポートできます。そのために使われるのが「from モジュール名 import 関数名」という形式のfrom...import文です。この書き方を使うと、コードが簡潔になり、不要な名前空間の汚染も防げます。基本的な使い方たとえば、mathライブラリからsin関数だけをインポートしたい場合(他の関数は不要な場合)は、次のように記述します。>>> from math import sin >>> sin(0) 0.0「math.」という接頭辞が不要になる理由通常、import m
-
Ruby標準ライブラリの便利なクラス5選!実用的なコード例付きで解説
Ruby標準ライブラリとは、Ruby本体に同梱されているものの、言語そのものには含まれていないモジュールやクラスの集まりのことです。 これらのクラスは、以下のようなさまざまなユーティリティを提供しています。 Base64エンコード・デコード 素数の生成 DNS名前解決 この記事では、その中から特に役立つ5つのクラスを、実用的なコード例とともに紹介します。 RubyのLoggerクラスでログ出力 エラーやデバッグメッセージを記録したいときは、Ruby標準のLoggerクラスが便利です。ログ出力に必要な機能がすべて揃っています。 Loggerを使うには、Loggerオブジェクトを生成して、出力