本稿は Python の標準ライブラリに関する記事です。
子ページから項目を選択してください。
本ページの子ページ
標準ライブラリとは
標準ライブラリとは、Python をインストールした時に標準で備わっているライブラリです。外部から pip でダウンロードしなくても、Python さえあれば使用できる強力なツール群で、"Batteries included" (電池入り)と呼ばれる Python の思想を支えています。
標準ライブラリの分類と代表例
| 分類 | モジュール | 用途 |
|---|---|---|
| 文字列処理 | re、string、textwrap | 正規表現・整形 |
| 数値・数学 | math、statistics、random、decimal、fractions | 数学関数・統計・乱数 |
| 日付・時刻 | datetime、time、zoneinfo、calendar | 日時計算・タイムゾーン |
| コレクション | collections、itertools、functools、heapq | OrderedDict / Counter / 高階関数 |
| ファイル・パス | os、os.path、pathlib、shutil、glob | パス操作・ファイル操作 |
| I/O | io、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 | 低レベル/高レベル通信 |
| DB | sqlite3 | SQLite を標準で利用可能 |
| 暗号・ハッシュ | hashlib、hmac、secrets | SHA / HMAC / 安全な乱数 |
| ログ | logging | 構造化ログ |
| テスト | unittest、doctest | 標準のテストフレームワーク |
| 型ヒント | typing、dataclasses | 型・データクラス |
| CLI / 引数 | argparse、sys | コマンドライン処理 |
使い方の基本
|
import json |
標準ライブラリと外部ライブラリの選び分け
| 用途 | 標準 | 外部 (pip) |
|---|---|---|
| HTTP クライアント | urllib.request | requests、httpx |
| HTML 解析 | html.parser | BeautifulSoup、lxml |
| 数値計算・行列 | statistics | numpy、pandas |
| CLI 構築 | argparse | click、typer |
| テスト | unittest | pytest |
| JSON | json | orjson、ujson |
注意点
- 近年の Python で非推奨/削除されたモジュールがある (例: Python 3.13 で
imp等)。EOL の Python に依存しているコードは動作確認 - ライブラリ名の衝突に注意。自分のファイル名を
json.py等にすると標準モジュールが隠される - セキュリティ的に重い処理は外部ライブラリの方が安全なケースもある (例: HTTP は
requests推奨) - ドキュメントは公式の「The Python Standard Library」が最終的に正確
関連
- 親カテゴリ: Python の文法
- 子ページ: 組み込み関数 / モジュール
- Python本体: Python
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- プロジェクトをTomcatプロジェクトとして認識させる方法 2026-10-07 22:32:50
- MySQLの1366 Incorrect string value|Laravelの文字コード・絵文字エラー 2026-10-07 21:54:03
- curlの証明書ホスト名不一致|旧エラー51・現行60の確認と対処 2026-10-07 21:54:03
- LaravelのMassAssignmentException|fillableの原因と安全な対処 2026-10-07 21:54:03
- Eclipse で Tomcat の起動ログがコンソールに出ない時の確認手順 2026-10-07 21:54:02
- MySQLにおける中央値(Median)の導き方(バージョン8未満) 2026-10-07 13:49:45
- getInputForward 2026-10-07 13:41:15
- JSONから配列に変換 2026-10-07 13:41:15
- ビューから値をモデルに格納しコントローラーで受け取る方法 2026-10-07 13:23:41
- Laravelのテーブル作成と定義変更|マイグレーション・up/down・注意点 2026-10-07 13:23:41
- NumPy 配列に要素を追加する方法 (append / concatenate) 2026-10-07 13:23:41
- MariaDB・MySQLで現在日時を取得する方法|NOW・タイムゾーン・保存型 2026-10-07 13:13:36
- 【django】テンプレートで定数を使用する方法 2026-10-07 13:10:15
- Spring BootにおけるApplication.propertiesの環境依存設定の分割方法 2026-10-07 12:09:35
- Not supported for DML operations【Springエラー】 2026-10-07 11:09:38