dataclasses

Utilities

Modelos de datos escritos

Descripción general dataclasses

El módulo de clases de datos es parte de la biblioteca estándar de Python (Python 3.7+). Proporciona un decorador y funciones para generar automáticamente métodos especiales como __init__, __repr__, __eq__ y __hash__ para clases que se utilizan principalmente para almacenar datos. Las clases de datos reducen el texto repetitivo y al mismo tiempo mantienen sus modelos legibles y mantenibles.

Debido a que las clases de datos son parte de la biblioteca estándar de Python, funcionan instantáneamente enPyRunsin importaciones adicionales ni descargas de micropip. Son la forma más ligera de definir modelos de datos estructurados en Python y son especialmente útiles para aprender programación orientada a objetos o crear aplicaciones pequeñas.

Código y salida de ejecución

Modelos mecanografiados con clasificación y serialización asdict.

Python DataclassesEjecutar en el 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))

Paquetes relacionados

Recursos recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.