Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Python 実践開発ガイド アウトライン

現代の Python 開発では、実行速度の向上だけでなく、依存関係管理の確実性、コード品質の自動検証、および型安全性による不具合防止が強く求められます。

かつては pip、virtualenv、flake8、black、isort など複数のツールを個別に導入・設定していましたが、現在では Rust 製の極めて高速なツールチェーンである uv と Ruff が登場し、開発体験が大きく進化しました。さらに、Python 3.5 以降段階的に強化されてきた型ヒント(Type Hints)を活用することで、静的解析ツールと連携した堅牢なソフトウェア開発が標準となっています。

本書では、プロジェクトの作成・実行から依存関係の解決、コードの静的検証・フォーマット、そして実践的な型注釈の設計まで、現代の Python 開発に必要な標準プラクティスを体系的に解説します。

章構成

  • 1. モダン Python 開発の全体像

    Python の歴史的変遷、従来のツール群が抱えていた課題、pyproject.toml による設定標準化、そしてモダンな開発体験を支える uv、Ruff、静的型付けの役割と関係性を整理します。

  • 2. uv によるプロジェクト管理と実行

    Astral 社が開発する極めて高速な Python パッケージマネージャー uv の特徴、プロジェクトの初期化(uv init)、スクリプトやコマンドの実行(uv run)、パッケージの追加・削除(uv add / uv remove)、仮想環境と依存関係の同期(uv sync)、および uv.lock の仕組みを学びます。

  • 3. Ruff によるコード検証と自動フォーマット

    Rust 製のオールインワン静的解析ツール Ruff の仕組み、従来のリンター(Flake8)やフォーマッター(Black / isort)との違い、ruff check と ruff format の使い方、pyproject.toml でのルール設定方法、自動修正(--fix)の活用法を解説します。

  • 4. Python の型システムと型ヒントの基礎

    Python の動的型付けと漸進的型付け(Gradual Typing)の考え方、変数・引数・戻り値への基本的な型注釈、プリミティブ型(int, float, str, bool)、コレクション型(list, dict, tuple, set)、および Python 3.10 以降のユニオン記法(|)と Optional の扱い方を解説します。

  • 5. 実践的な高度な型注釈と型安全性

    辞書データの構造を定義する TypedDict、特定のリテラル値を制限する Literal、再利用可能な汎用型を作るジェネリクス(Generics / TypeVar)、ダックタイピングを静的に表現する Protocol、型チェッカー(ty / pyright / Ruff 型ルール)による静的検査の実践手法を学びます。

  • 6. dataclass と Pydantic によるデータモデリング

    標準ライブラリの dataclasses と、サードパーティ製バリデーションライブラリ Pydantic (v2) の特徴・詳細機能・設計上の使い分けを学びます。不変オブジェクト(frozen=True)、field() や Field() による制約設定、カスタムバリデータ、JSON 相互変換、アーキテクチャ境界での使い分けパターンを解説します。

  • 7. 実践:uv・Ruff・型で作るモダンプロジェクト

    uv によるプロジェクトの新規立ち上げから、pyproject.toml への依存関係・Ruff や ty の設定の集約、型ヒントとデータモデルを徹底したサンプル CLI アプリケーションの実装、リント・フォーマット検証、そして uv run による安全な実行までの一連の開発サイクルをハンズオン形式で実践します。