Valores padrão e field em dataclasses
This commit is contained in:
25
aula159.py
25
aula159.py
@@ -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])
|
|
||||||
|
|||||||
Reference in New Issue
Block a user