3秒でわかる
Python をインストールした時点で使えるモジュール群のこと。日付処理や JSON、ファイル操作などを追加インストール無しで賄えます。
もう少し詳しく
どういうものか
標準ライブラリは、Python 本体と一緒に配られるモジュールのまとまりです。pip install を一度もしていない環境でも import するだけで使えます。日付、正規表現、JSON、乱数、ファイルとフォルダ、CSV、HTTP 通信あたりまでは、ここだけで書けます。
import json
import random
from datetime import date, timedelta
from pathlib import Path
due = date.today() + timedelta(days=7)
data = {"due": due.isoformat(), "code": random.randint(1000, 9999)}
Path("order.json").write_text(json.dumps(data, ensure_ascii=False))なぜ必要か
外部パッケージを増やすほど、環境構築が壊れやすくなり、バージョン更新の面倒も増えます。標準ライブラリで済む処理を外部パッケージに頼らないだけで、他人の PC でも、サーバー上でも、そのまま動く確率が上がります。
学習中に効く利点もあります。標準ライブラリは Python 本体と同じドキュメントに揃っていて、日本語訳もあります。困ったときに読む場所が一箇所に決まっているのは大きな差です。
具体例
自分で書きがちな処理の多くは、すでに標準ライブラリにあります。
from collections import Counter
votes = ["apple", "grape", "apple", "melon", "apple", "grape"]
print(Counter(votes).most_common(2))
# [('apple', 3), ('grape', 2)]同じことを辞書とループで書くと 6 行ほどかかります。itertools、collections、pathlib、statistics の 4 つは、覚えた分だけ書く量が減ります。
つまずきやすいところ
自分のファイル名を標準ライブラリと同じにしてしまう事故がよく起きます。random.py や json.py という名前で練習ファイルを保存すると、import random が自分のファイルを読みに行き、意味の分からないエラーが出ます。
また、名前が有名でも標準ではないものがあります。requests、numpy、pandas は別途インストールが要ります。標準かどうかは公式ドキュメントの目次で確かめられます。
似た用語との違い
pip install して使うlen や print のように import すら要らないもの