dataclasses
UtilitiesModelli di dati tipizzati
Panoramica dataclasses
Il modulo dataclasses fa parte della libreria standard Python (Python 3.7+). Fornisce un decoratore e funzioni per generare automaticamente metodi speciali come __init__, __repr__, __eq__ e __hash__ per le classi utilizzate principalmente per archiviare dati. Le classi dati riducono il boilerplate mantenendo i modelli leggibili e manutenibili.
Poiché le classi di dati fanno parte della libreria standard di Python, funzionano immediatamente inPyRunsenza ulteriori importazioni o download di micropip. Costituiscono il modo più leggero per definire modelli di dati strutturati in Python e sono particolarmente utili per apprendere la programmazione orientata agli oggetti o creare piccole app.
Codice e output di esecuzione
Modelli tipizzati con ordinamento e serializzazione asdict.
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))Pacchetti correlati
Risorse Python consigliate
Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.
Cicli Python
Scopri come utilizzare i loop Python per eseguire iterazioni sui dati. Padroneggia le best practice sui cicli for, while, interruzione, continua e loop con esempi interattivi.
Come ordinare un elenco in Python
Scopri come ordinare un elenco in Python utilizzando il metodo sort() e la funzione sorted(). Scopri l'ordinamento delle chiavi personalizzato e gli esempi di ordine inverso.
Foglio informativo sui metodi delle stringhe Python
Una guida di riferimento completa per la manipolazione delle stringhe Python. Padroneggia la formattazione, la ricerca, la divisione, la sostituzione e il controllo delle proprietà delle stringhe.
Python vs JavaScript: quale linguaggio di programmazione è il migliore?
Un confronto completo tra Python e JavaScript. Esplora le differenze di sintassi, le prestazioni, i casi d'uso (backend e frontend) ed esempi di codifica.