Skip to Content
Python fluido, 2ª edición
book

Python fluido, 2ª edición

by Luciano Ramalho
August 2024
Intermediate to advanced
1014 pages
26h
Spanish
O'Reilly Media, Inc.
Content preview from Python fluido, 2ª edición

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.NamedTupleen la documentación ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Python Polars: la guía definitiva

Python Polars: la guía definitiva

Jeroen Janssens, Thijs Nieuwdorp
Potente Python

Potente Python

Aaron Maxwell

Publisher Resources

ISBN: 9781098180126