Dataclass no Python para manipulação de classes e melhoria de tipagem
O dataclass, introduzido no Python 3.7, é uma forma poderosa e conveniente de criar classes que armazenam dados. O Dataclass é uma classe que representa um objeto de dados puro. Ele é uma alternativa ao uso de dicionários e NamedTuples. Ele melhora a tipagem dos dados da classe e é uma excelente alternativa ao uso de classes comuns.
Ele interfere nos métodos __init__, __repr__, __eq__, __hash__ e __str__ de uma classe, já criando esses métodos automaticamente.
Ele permite a adição de recursos como slots e imutabilidade, que são úteis para otimizar o uso de memória e garantir que os objetos sejam imutáveis.
Também é possível converter um objeto dataclass em tuplas e dicionários, o que é útil para serialização e desserialização de objetos.
Neste exemplo, o dataclass gera automaticamente um método __init__ que aceita name e age como argumentos. Além disso, o método __repr__ é gerado para permitir a fácil visualização do objeto (Person(name='Alice', age=30)).
Vantagens dos dataclasses
Exemplo com slots e método customizado
Neste exemplo, usamos slots para otimizar o uso de memória e adicionamos um método customizado total_price para calcular o total dos preços dos produtos.
Os dataclasses são especialmente úteis quando você precisa de uma maneira simples, eficiente e legível de criar classes que atuam como "sacos de dados" em seu código Python.
Referências
Desenvolvedor Backend | Cloud Solutions | Node.js | TypeScript | React | AWS | IaC | Amazon Connect |Java | Python | Docker | Kubernetes | DevOps | CI/CD
4 mtá voando em Python 🚀 🚀 🚀