Capítulo 5. Creadores de clases de datos
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Las clases de datos son como niños. Están bien como punto de partida, pero para participar como un objeto adulto, necesitan asumir alguna responsabilidad.
Martin Fowler y Kent Beck1
Python ofrece algunas formas de construir una clase sencilla que no sea más que una colección de campos, con poca o ninguna funcionalidad adicional. Ese patrón se conoce como "clase de datos", y dataclasses
es uno de los paquetes que admiten este patrón. Este capítulo de trata de tres constructores de clases diferentes que puedes utilizar como atajos para escribir clases de datos:
collections.namedtuple
-
La forma más sencilla, disponible desde Python 2.6.
typing.NamedTuple
-
Una alternativa que requiere sugerencias de tipo en los campos: desde Python 3.5, con la sintaxis
class
añadida en 3.6. @dataclasses.dataclass
-
Un decorador de clases que permite más personalización que las alternativas anteriores, añadiendo muchas opciones y complejidad potencial-desde Python 3.7.
Después de cubrir esos constructores de clases, discutiremos por qué Clase de Datos es también el nombre de un olor a código de: un patrón de codificación que puede ser síntoma de un mal diseño orientado a objetos.
Nota
typing.TypedDict
puede parecer otro constructor de clases de datos. Utiliza una sintaxis similar y se describe justo después de typing.NamedTuple
en la documentación ...
Get Python fluido, 2ª edición now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.