dataclasses com métodos, property e setter

This commit is contained in:
Luiz Otávio
2022-12-03 07:52:55 -03:00
parent 68dc9e676e
commit 897e512fa3

View File

@@ -11,10 +11,21 @@ from dataclasses import dataclass
@dataclass @dataclass
class Pessoa: class Pessoa:
nome: str nome: str
idade: int sobrenome: str
@property
def nome_completo(self):
return f'{self.nome} {self.sobrenome}'
@nome_completo.setter
def nome_completo(self, valor):
nome, *sobrenome = valor.split()
self.nome = nome
self.sobrenome = ' '.join(sobrenome)
if __name__ == '__main__': if __name__ == '__main__':
p1 = Pessoa('Luiz', 30) p1 = Pessoa('Luiz', 'Otávio')
p2 = Pessoa('Luiz', 30) p1.nome_completo = 'Maria Helena'
print(p1 == p2) print(p1)
print(p1.nome_completo)