Valores padrão e field em dataclasses

This commit is contained in:
Luiz Otávio
2022-12-03 09:13:44 -03:00
parent 14bbe6bef1
commit 009f28bb5a

View File

@@ -1,22 +1,19 @@
# dataclasses - O que são dataclasses? # Valores padrão e field em dataclasses
# O módulo dataclasses fornece um decorador e funções para criar métodos como
# __init__(), __repr__(), __eq__() (entre outros) em classes definidas pelo
# usuário.
# Em resumo: dataclasses são syntax sugar para criar classes normais.
# Foi descrito na PEP 557 e adicionado na versão 3.7 do Python.
# doc: https://docs.python.org/3/library/dataclasses.html # doc: https://docs.python.org/3/library/dataclasses.html
from dataclasses import asdict, astuple, dataclass from dataclasses import dataclass, field
@dataclass @dataclass
class Pessoa: class Pessoa:
nome: str nome: str = field(
sobrenome: str default='MISSING', repr=False
)
sobrenome: str = 'Not sent'
idade: int = 100
enderecos: list[str] = field(default_factory=list)
if __name__ == '__main__': if __name__ == '__main__':
p1 = Pessoa('Luiz', 'Otávio') p1 = Pessoa()
print(asdict(p1).keys()) # print(fields(p1))
print(asdict(p1).values()) print(p1)
print(asdict(p1).items())
print(astuple(p1)[0])