dataclasses

Utilities

Modèles de données typés

Aperçu dataclasses

Le module dataclasses fait partie de la bibliothèque standard Python (Python 3.7+). Il fournit un décorateur et des fonctions pour générer automatiquement des méthodes spéciales telles que __init__, __repr__, __eq__ et __hash__ pour les classes principalement utilisées pour stocker des données. Les classes de données réduisent le passe-partout tout en gardant vos modèles lisibles et maintenables.

Étant donné que les classes de données font partie de la bibliothèque standard de Python, elles fonctionnent instantanément dansPyRunsans aucune importation supplémentaire ni téléchargement de micropip. Ils constituent le moyen le plus léger de définir des modèles de données structurés en Python et sont particulièrement utiles pour apprendre la programmation orientée objet ou créer de petites applications.

Sortie de code et d'exécution

Modèles typés avec tri et sérialisation asdict.

Python DataclassesExécuter dans l'éditeur
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))

Forfaits associés

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.