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
|
@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)
|
||||||
|
|||||||
Reference in New Issue
Block a user