dataclasses

Utilities

Model data yang diketik

Ikhtisar dataclasses

Modul dataclasses adalah bagian dari perpustakaan standar Python (Python 3.7+). Ini menyediakan dekorator dan fungsi untuk secara otomatis menghasilkan metode khusus seperti __init__, __repr__, __eq__, dan __hash__ untuk kelas yang terutama digunakan untuk menyimpan data. Kelas data mengurangi boilerplate sekaligus menjaga model Anda tetap mudah dibaca dan dipelihara.

Karena kelas data adalah bagian dari perpustakaan standar Python, mereka bekerja secara instan diPyRuntanpa impor tambahan atau unduhan mikropip. Ini adalah cara paling ringan untuk mendefinisikan model data terstruktur dengan Python, dan sangat berguna untuk mempelajari pemrograman berorientasi objek atau membuat aplikasi kecil.

Kode & Output Eksekusi

Model yang diketik dengan penyortiran dan serialisasi yang ditentukan.

Python DataclassesJalankan di Editor
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))

Paket Terkait

Sumber Daya Python yang Direkomendasikan

Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.