5.

標準ライブラリ

編集

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

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

本ページの子ページ

標準ライブラリとは

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

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

分類モジュール用途
文字列処理restringtextwrap正規表現・整形
数値・数学mathstatisticsrandomdecimalfractions数学関数・統計・乱数
日付・時刻datetimetimezoneinfocalendar日時計算・タイムゾーン
コレクションcollectionsitertoolsfunctoolsheapqOrderedDict / Counter / 高階関数
ファイル・パスosos.pathpathlibshutilglobパス操作・ファイル操作
I/Oiotempfileテキスト/バイナリ I/O・一時ファイル
データ形式jsoncsvxml.etree.ElementTreepickleconfigparsertomllib各種フォーマット読み書き
圧縮zipfilegziptarfileアーカイブ作成・展開
並行・並列threadingmultiprocessingconcurrent.futuresasyncioqueueスレッド・プロセス・非同期
サブプロセスsubprocess外部コマンド実行
ネットワークsocketurllibhttpemailftplib低レベル/高レベル通信
DBsqlite3SQLite を標準で利用可能
暗号・ハッシュhashlibhmacsecretsSHA / HMAC / 安全な乱数
ログlogging構造化ログ
テストunittestdoctest標準のテストフレームワーク
型ヒントtypingdataclasses型・データクラス
CLI / 引数argparsesysコマンドライン処理

使い方の基本

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.requestrequestshttpx
HTML 解析html.parserBeautifulSouplxml
数値計算・行列statisticsnumpypandas
CLI 構築argparseclicktyper
テストunittestpytest
JSONjsonorjsonujson

注意点

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

関連

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