C
Python/オブジェクト指向/Lesson 19

@dataclass — ボイラープレート自動化 (PEP 557)

15分·theory
このチャプター
3/3

@dataclass — ボイラープレート自動化 (PEP 557)

🎯 このlessonを読み終えたら

このlessonを読み終えると、以下の3つを自信を持ってできるようになります。

  • ✅ @dataclass + frozen=True + slots=True オプション
  • ✅ Pydantic BaseModel · NamedTuple との比較
  • ✅ field(default_factory=list) による mutableデフォルト 問題の解決

学習目標をチェックリストとして手元に置き、すべて答えられるようになったらlessonを閉じましょう。

@dataclass — コード + 実行結果

@dataclass = __init__・__repr__・__eq__ を自動生成。データを保持するクラスのボイラープレートがゼロに。

🐍 実際に試してみよう — dataclass — 直接実行

上記の概念を実際にコードで実行してみましょう。値を変えながら動作を自分で確認するのが最速の学習法です。
✏️ Python 코드
📟 コンソール出力
▶ 実行ボタンを押してください
🐍 Pyodideで実際のPythonを実行 — 初回は読み込みに3〜5秒

🤖 AIへのプロンプト例

このlessonの概念を理解すれば、AIに具体的な指示が出せるようになります。漠然とした「直して」ではなく、語彙を持ったリクエスト — それがトークン節約の出発点です。

  • 「このdictベースのデータ構造をdataclassに書き換えて」
  • 「このクラスに__repr__と__eq__を適切に追加して」

なぜトークンが減るのか

概念を知らないと、AIの回答を受け取った後に「それって何ですか?」と再度質問しなければなりません。その「再質問」がトークンを消費します。概念を一度覚えておけば、会話が一度で終わります。

先に読むとよい概念: 継承
次のおすすめ: 型ヒント
@dataclass — ボイラープレート自動化 (PEP 557) - Python