dataclasses com métodos, property e setter
This commit is contained in:
19
aula159.py
19
aula159.py
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user