#Python
117 件の記事

メタクラス — いつ本当に必要か
クラスを作るクラスを扱います。type の正体、__init_subclass__ との分担、クラスデコレータで解けるケース、そして本当にメタクラスが必要な狭い領域までまとめます。

モジュール、パッケージと pyproject.toml
import システム、モジュールとパッケージの違い、__init__.py と __main__、そして pyproject.toml で依存関係・ツール設定・配布まで一箇所に整理します。

関数 — 引数パターン
デフォルト値、*args/**kwargs、positional-only(/)、keyword-only(*) まで、関数シグネチャを表現力豊かに書くすべての道具を整理します。

型チェッカ設定と CI 統合
mypy / pyright / ruff の設定と衝突回避、pre-commit でローカル段階でブロック、GitHub Actions で PR 段階でブロックするまで。

制御フロー — if, while, for, match-case
インデントでブロックを作る制御フロー、range/enumerate/zip、そして switch とは性格の異なる match-case のパターンマッチまで整理します。

総合実習 — TODO API を完成させる
第1〜28章のパターンを 1 つの動作するサービスに編みます。認証されたユーザー別の TODO CRUD、タグフィルタ、ページネーション、バックグラウンド通知、テスト、デプロイまで。

認証 — OAuth2 パスワードフロー + JWT
パスワードハッシング(argon2/bcrypt)、OAuth2 パスワードフロー、JWT 発行/検証、そして current_user 依存性で認証フローを構成するパターンをまとめます。

非同期とバックグラウンドジョブ
async ルートの使いどき、BackgroundTasks でレスポンス後処理、外部キュー(Celery、ARQ)が必要になる境界、そして同期ライブラリと安全に混ぜる方法をまとめます。

非同期の深さ — イベントループ、gather/wait、async generator
中級入門の次の段階として、イベントループの実際の動作、Future と Task の違い、gather vs wait、async generator と async iteration までまとめます。

非同期入門 (asyncio)
async/await の意味、イベントループ、asyncio.gather と TaskGroup、同期コードとの混在まで、asyncio の最初の一歩を整理します。

付録A — 旧 Python コードをモダンスタイルに移す
2017年スタイルの Python コード(% 文字列、has_key、type() 比較など)を現代の Python スタイルに段階的に移すガイド。旧 Python 基礎講座 21編の読者が本書へ自然に読み継げるように。

変数、基本型と型ヒント
Python は動的言語ですが、モダンPythonでは最初から型を書きます。int/str/bool/None と組み込みジェネリクス、int | None の短縮記法、mypy/pyright までまとめて整理します。