#Python
147 件の記事


Pydantic v2 の深層 — 検証、シリアライズ、カスタム validator
FastAPI の核である Pydantic を独立した章で掘り下げます。v2 の性能と API の変化、model_validator/field_validator の使いどころ、シリアライズ制御、JSON Schema 生成までを扱います。
Python自動化 #4 — Webスクレイピング ②: Playwright で動的ページを扱う
requests で取得すると空の HTML しか返ってこない JavaScript レンダリングページを Playwright で扱います。インストールと最初のスクリプトから、wait_for_selector による待機、ログイン自動化、無限スクロール、CSV 保存まで一気に整理します。

typing 上級 — Variance、ParamSpec、Self、overload
中級 typing の次の段階として、covariance/contravariance、ParamSpec と Concatenate、Self、TypeGuard/TypeIs、@overload までまとめます。

typing 本格 — Generic、Protocol、TypedDict、Literal
基礎の型ヒントの次の段階 — 型をパラメータ化する Generic、ダックタイピングを正確に書く Protocol、dict の形を明示する TypedDict、狭い union の Literal までを整理します。

uv でのライブラリ公開 — pyproject.toml と PyPI リリース
pyproject.toml の意味を一度に整理し、uv build・uv publish で最初のライブラリを PyPI にリリースする手順を扱います。

イテラブル、ジェネレータ、yield from
for がどう動作するかを扱います。イテラブルプロトコル、ジェネレータ関数と式、yield from による委譲、send/throw までを整理します。

ルーティング、Pydantic モデル、依存性注入
APIRouter でルートを分離し、Pydantic v2 スキーマで入出力を定義し、Depends で共通ロジックを分離するパターンまでまとめます。

コンテキストマネージャ (with、contextlib)
try/finally を一行にする with、__enter__/__exit__ による自作、@contextmanager で生成器のように短く作る方法、そして ExitStack/suppress などの実戦の道具まで整理します。

ディスクリプタと __set_name__
property が動作する原理 — __get__/__set__ プロトコルとデータ / 非データディスクリプタ、__set_name__ できれいなバリデーションフィールドを作るところまでまとめます。