Olá estou com duvida de como utilizar os metodos @property e @setter de maneira correta, fiz a seguinte codigo, mas ele não me parece muito correto.
class Alunos:
def __init__(self, id, nome, ultimo_nome, idade, peso, altura):
self.__id = id
self.__nome = nome
self.__ultimo_nome = ultimo_nome
self.__idade = idade
self.__peso = peso
self.__altura = altura
@altera_dados.setter
def altera_dados(self, id, nome, ultimo_nome, idade):
if self.__id == id:
print(f'Os dados do ID: {self.__id} foram alterados: \n'
f'Nome: {self.__nome}\n'
f'Ultimo Nome: {self.__ultimo_nome}\n'
f'Idade: {self.__idade}\n'
f'Para os seguintes dados:\n')
self.__nome = nome
self.__ultimo_nome = ultimo_nome
self.__idade = idade
print(f'Nome: {self.__nome}\n'
f'Ultimo Nome: {self.__ultimo_nome}\n'
f'Idade: {self.__idade}')
else:
print(f'ID, digitado é invalido! ')
@property
def exibe_dados(self):
print(f'ID: {self.__id}\n'
f'Nome Completo: {self.__nome} \n'
f'Ultimo Nome: {self.__ultimo_nome} \n'
f'Idade: {self.__idade} \n'
f'Peso: {self.__peso} \n'
f'Altura: {self.__altura}')