Como usar a classe de dados congelada no Python
Dataclasses
Neste tutorial de Python, vamos explorar as dataclasses
- uma funcionalidade introduzida a partir da versão 3.7 da linguagem Python. As dataclasses
são uma maneira conveniente de definir classes que são principalmente usadas para armazenar dados.
O que são Dataclasses?
Uma dataclass
é uma classe que fornece automaticamente a implementação de métodos como __init__()
, __repr__()
, __eq__()
, entre outros, com base nos campos definidos na classe. Isso permite criar classes de dados de forma mais concisa e eficiente.
Vantagens das Dataclasses
As dataclasses
oferecem várias vantagens, incluindo:
- Código mais limpo e legível: você pode definir os campos da classe explicitamente, o que torna o código mais fácil de entender.
- Métodos implementados automaticamente: os métodos comuns, como
__init__()
,__repr__()
,__eq__()
, entre outros, são implementados automaticamente com base nos campos definidos na classe. - Comparação por valor: as
dataclasses
implementam automaticamente o método__eq__()
para realizar uma comparação por valor em vez de uma comparação por referência.
Criando uma Dataclass
Para criar uma dataclass
, primeiro precisamos importar o módulo dataclasses
do Python. Em seguida, decoramos a classe com @dataclass
e definimos os campos da classe com suas anotações de tipo correspondentes. Veja um exemplo abaixo:
Neste exemplo, definimos a classe Pessoa
como uma dataclass
com os campos nome
, idade
e altura
. Note que não precisamos implementar explicitamente um método __init__()
ou __repr__()
. A dataclass
automaticamente cria esses métodos para nós.
Usando uma Dataclass
Depois de criar uma dataclass
, podemos criar objetos dessa classe da mesma maneira que criaríamos objetos de qualquer outra classe. Veja um exemplo abaixo:
Neste exemplo, criamos dois objetos Pessoa
- p1
e p2
. Podemos acessar os campos desses objetos normalmente, assim como faríamos com qualquer outra classe.
Modificando uma Dataclass
Uma vez que uma dataclass
é definida, podemos modificar os valores de seus campos da mesma maneira que modificaríamos qualquer outro atributo de uma classe. Veja um exemplo abaixo:
Neste exemplo, alteramos o valor dos campos nome
e idade
do objeto p1
. Ao imprimir o objeto, podemos ver que os valores foram atualizados corretamente.
Conclusão
As dataclasses
são uma adição poderosa ao Python, permitindo que você defina classes de dados de forma mais concisa e eficiente. Elas automatizam a implementação de métodos comuns e facilitam a leitura e a manipulação dos dados. Se você estiver trabalhando com grandes conjuntos de dados ou precisando armazenar informações estruturadas, as dataclasses
são definitivamente um recurso que vale a pena explorar.
Experimente criar suas próprias dataclasses
e veja como elas podem simplificar seu código e torná-lo mais legível. Dê uma chance às dataclasses
e aproveite ao máximo a simplicidade e a eficiência que elas trazem para o seu projeto Python!