dataclasses

Utilities

Typisierte Datenmodelle

Übersicht dataclasses

Das Dataclasses-Modul ist Teil der Python-Standardbibliothek (Python 3.7+). Es bietet einen Dekorator und Funktionen zum automatischen Generieren spezieller Methoden wie __init__, __repr__, __eq__ und __hash__ für Klassen, die hauptsächlich zum Speichern von Daten verwendet werden. Datenklassen reduzieren den Boilerplate und sorgen gleichzeitig dafür, dass Ihre Modelle lesbar und wartbar sind.

Da Datenklassen Teil der Standardbibliothek von Python sind, funktionieren sie sofort inPyRun, ohne dass zusätzliche Importe oder Micropip-Downloads erforderlich sind. Sie sind die einfachste Möglichkeit, strukturierte Datenmodelle in Python zu definieren, und eignen sich besonders zum Erlernen der objektorientierten Programmierung oder zum Erstellen kleiner Apps.

Code- und Ausführungsausgabe

Typisierte Modelle mit Sortierung und Asdict-Serialisierung.

Python DataclassesIm Editor ausführen
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))

Verwandte Pakete

Empfohlene Python-Ressourcen

Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.