# Crie uma nova classe chamada Pessoa com atributos como nome, idade e profissão.
# Adicione um método especial __str__ para imprimir uma representação em string da pessoa.
# Implemente também um método de instância chamado aniversario que aumenta a idade da pessoa em um ano.
# Por fim, adicione uma propriedade chamada saudacao que retorna uma mensagem de saudação personalizada com base na profissão da pessoa.
class Pessoa:
pessoas = []
def __init__(self, nome: str, idade: int, profissao:str):
self.nome = nome
self.idade = int(idade)
self.profissao = profissao
Pessoa.pessoas.append(self)
def __str__(self):
return f'{self.nome} | {self.idade} anos | {self.profissao}'
# @property serve para acessar um método como se fosse um atributo, preservando encapsulamento, legibilidade e controle sobre o acesso aos dados do objeto.
# Ele transforma um método em um atributo de leitura.
@classmethod
def listar_pessoas(cls):
for pessoa in cls.pessoas:
print(pessoa)
def aniversario(self):
self.idade += 1
@property
def saudacao(self):
return f'Olá, meu nome é {self.nome} e trabalho como {self.profissao}'
if __name__ == '__main__':
pessoa1 = Pessoa('Rodrigo', 44, 'Gerente Financeiro')
pessoa2= Pessoa('Ana', 30, 'Engenheira')
print(pessoa1.saudacao)
print(pessoa2.saudacao)