dataclasses
UtilitiesModelos 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.
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.
Bucles de Python
Aprenda a utilizar bucles de Python para iterar sobre datos. Domine los bucles for, while, rompa, continúe y realice bucles con ejemplos interactivos.
Cómo ordenar una lista en Python
Aprenda a ordenar una lista en Python usando el método sort() y la función sorted(). Descubra ejemplos de ordenación inversa y clasificación de claves personalizadas.
Hoja de trucos sobre métodos de cadenas de Python
Una guía de referencia completa para la manipulación de cadenas de Python. Domine el formateo, la búsqueda, la división, el reemplazo y la verificación de las propiedades de las cadenas.
Python vs JavaScript: ¿Qué lenguaje de programación es mejor?
Una comparación completa entre Python y JavaScript. Explore las diferencias de sintaxis, el rendimiento, los casos de uso (backend frente a frontend) y ejemplos de codificación.