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
class Pessoa:
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__':
p1 = Pessoa('Luiz', 30)
p2 = Pessoa('Luiz', 30)
print(p1 == p2)
p1 = Pessoa('Luiz', 'Otávio')
p1.nome_completo = 'Maria Helena'
print(p1)
print(p1.nome_completo)