◀ 5.

Pythonの標準ライブラリとは|組み込み関数とモジュールの基本

▶

本稿は Python の標準ライブラリに関する記事です。

子ページから項目を選択してください。

本ページの子ページ

標準ライブラリとは

標準ライブラリとは、Python をインストールした時に標準で備わっているライブラリです。外部から pip でダウンロードしなくても、Python さえあれば使用できる強力なツール群で、"Batteries included" (電池入り)と呼ばれる Python の思想を支えています。

標準ライブラリの分類と代表例

分類モジュール用途
文字列処理re、string、textwrap正規表現・整形
数値・数学math、statistics、random、decimal、fractions数学関数・統計・乱数
日付・時刻datetime、time、zoneinfo、calendar日時計算・タイムゾーン
コレクションcollections、itertools、functools、heapqOrderedDict / Counter / 高階関数
ファイル・パスos、os.path、pathlib、shutil、globパス操作・ファイル操作
I/Oio、tempfileテキスト/バイナリ I/O・一時ファイル
データ形式json、csv、xml.etree.ElementTree、pickle、configparser、tomllib各種フォーマット読み書き
圧縮zipfile、gzip、tarfileアーカイブ作成・展開
並行・並列threading、multiprocessing、concurrent.futures、asyncio、queueスレッド・プロセス・非同期
サブプロセスsubprocess外部コマンド実行
ネットワークsocket、urllib、http、email、ftplib低レベル/高レベル通信
DBsqlite3SQLite を標準で利用可能
暗号・ハッシュhashlib、hmac、secretsSHA / HMAC / 安全な乱数
ログlogging構造化ログ
テストunittest、doctest標準のテストフレームワーク
型ヒントtyping、dataclasses型・データクラス
CLI / 引数argparse、sysコマンドライン処理

使い方の基本

import json
import datetime
from collections import Counter
from pathlib import Path

data = {"t": datetime.datetime.now().isoformat()}
print(json.dumps(data))

counts = Counter("abracadabra")
print(counts)

path = Path("./sample.txt")
path.write_text("hello", encoding="utf-8")

標準ライブラリと外部ライブラリの選び分け

用途標準外部 (pip)
HTTP クライアントurllib.requestrequests、httpx
HTML 解析html.parserBeautifulSoup、lxml
数値計算・行列statisticsnumpy、pandas
CLI 構築argparseclick、typer
テストunittestpytest
JSONjsonorjson、ujson

注意点

  • 近年の Python で非推奨/削除されたモジュールがある (例: Python 3.13 で imp 等)。EOL の Python に依存しているコードは動作確認
  • ライブラリ名の衝突に注意。自分のファイル名を json.py 等にすると標準モジュールが隠される
  • セキュリティ的に重い処理は外部ライブラリの方が安全なケースもある (例: HTTP は requests 推奨)
  • ドキュメントは公式の「The Python Standard Library」が最終的に正確

関連

子ページ
  1. 組み込み関数
  2. モジュール
同階層のページ
  1. 基本的なルール
  2. 変数
  3. 演算子
  4. 型
  5. 標準ライブラリ
  6. 外部ライブラリ
  7. 制御構文
  8. リスト(配列)
  9. タプル
  10. セット
  11. 辞書(dict)
  12. クラスとメソッド
  13. 継承の概念と必要性
  14. 継承の構文
  15. コンストラクタ
  16. cookieの値の設定と取得
  17. 例外処理
  18. 例外を文字列で出力する方法
  19. httpリクエスト(curl)をする方法
  20. Responseオブジェクトの中身の確認
  21. 変数が空かどうか判定する方法
  22. タイムゾーンの設定と現在日時の取得と文字列化
  23. シングルクォーテーションとダブルクォーテーションの違い