Q1ファイルダウンロード後の整合性確認に使う標準ライブラリはどれですか?
Python 標準ライブラリまとめ — 17 本を 7 カテゴリで俯瞰
標準ライブラリ17本を7カテゴリで俯瞰し、urllib→requests・csv→pandas・math→NumPy・unittest→pytestなど外部ライブラリへ乗り換える判断軸を整理する総まとめ記事です。
標準ライブラリ 17 本の全体像
Python 標準ライブラリは、追加インストールなしで使える組み込みのモジュール群です。本シリーズでは17 本の主要モジュールを扱いました。実行環境からの情報取り出しから始まり、抽象度を上げながら数値・文字列・データ入出力・データ構造・運用・並行処理へと積み上げていく構成です。
カテゴリごとの記事
各カテゴリで扱った記事と、解決する代表的な問題は次の通りです。
| カテゴリ | 扱った記事 | 解決する代表的な問題 |
|---|---|---|
| 実行環境とファイル | sys-argparse / os-pathlib / shutil-tempfile | コマンドライン引数、パス操作、ファイル一括操作 |
| 数値・日時・乱数 | datetime-time / math-statistics / decimal-fractions / random-secrets | 日付計算、誤差なき金額計算、乱数とトークン生成 |
| 文字列・テキスト | re / string-textwrap / pprint | 正規表現、テンプレ置換、整形表示 |
| データ入出力 | json-csv / pickle-base64 / hashlib | 構造化データ、シリアライズ、エンコード、ハッシュ |
| データ構造の拡張 | collections / itertools-functools / enum-dataclasses | 集計、組み合わせ、関数加工、名前付き定数、データクラス |
| リソース管理・運用 | contextlib / logging | with の自作、ログ出力 |
| 並行・並列処理 | asyncio-basics / asyncio-tasks / threading-multiprocessing | 並行実行、並列計算、外部コマンド呼び出し |
外部ライブラリとは
外部ライブラリは、Python に最初から付属していない、pip install ライブラリ名で追加インストールするライブラリです。標準ライブラリよりも特定の用途に特化していて、Web フレームワーク・データ分析・機械学習など、コミュニティや企業が公開しています。
標準ライブラリと外部ライブラリの関係
標準ライブラリは最初の選択肢ですが、規模が大きくなると外部ライブラリのほうが扱いやすい領域があります。標準ライブラリで概念を押さえてから外部に進むと、設計思想が共通しているため学習コストが下がります (pandas は csv の延長、requests は urllib.request の使いやすい版、pytest は unittest の改良版)。
用途別の代表的な外部ライブラリ
標準ライブラリで土台を作ったら、目的に合った外部ライブラリを取り込んでいきます。やりたいことごとに定番の外部ライブラリが決まっているので、まず代表的なものを 1 つ使ってみるのが効率的です。
理解度チェック
まずは1問ずつ答えてみましょう。
Q2「リストの要素ごとに出現回数を数える」のに最も簡潔なのはどれですか?
Q3標準ライブラリの csv で扱える範囲を超えて、本格的なデータ分析を行うときに使う代表的な外部ライブラリはどれですか?