dataclasses

Utilities

型付きデータモデル

概要 dataclasses

データクラス モジュールは、Python 標準ライブラリ (Python 3.7+) の一部です。これは、主にデータの保存に使用されるクラスの __init__、__repr__、__eq__、__hash__ などの特別なメソッドを自動的に生成するためのデコレータと関数を提供します。データクラスは、モデルの可読性と保守性を維持しながら、ボイラープレートを削減します。

データクラスは Python の標準ライブラリの一部であるため、追加のインポートやマイクロピップのダウンロードを行わなくても、PyRunで即座に動作します。これらは Python で構造化データ モデルを定義する最も軽量な方法であり、オブジェクト指向プログラミングの学習や小規模なアプリの構築に特に役立ちます。

コードと実行の出力

ソートと asdict シリアル化を備えた型付きモデル。

Python Dataclassesエディターで実行
from dataclasses import dataclass, field, asdict
from typing import List

@dataclass(order=True)
class Student:
    name: str
    grade: float
    subjects: List[str] = field(default_factory=list)

    def gpa_letter(self) -> str:
        if self.grade >= 90: return 'A'
        if self.grade >= 80: return 'B'
        if self.grade >= 70: return 'C'
        return 'D'

students = [
    Student("Alice",   94.5, ["Math", "Physics"]),
    Student("Bob",     78.2, ["History", "English"]),
    Student("Charlie", 88.0, ["CS", "Math", "Bio"]),
]

for s in sorted(students, reverse=True):
    print(f"{s.name:<10} GPA={s.grade:.1f} ({s.gpa_letter()}) — {', '.join(s.subjects)}")

print("\nAs dicts:")
for row in students:
    print(asdict(row))

関連パッケージ

推奨される Python リソース

関連するインタラクティブなチュートリアル、チートシート、コード比較で知識を深めてください。