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