1
resposta

Mão na massa: refatorando uma função

'''
    Com base no exercício: **Mão na massa: refatorando uma função**, segue a solução do exercício
'''
class Pessoa:
    def __init__(self, nome='', idade=0, profissao=''):
        self.nome = nome
        self.idade = idade
        self.profissao = profissao

    def __str__(self):
        return f'Nome: {self.nome}, Idade: {self.idade}, Profissão: {self.profissao}'

    def aniversario(self):
        self.idade += 1

    @property
    def saudacao(self):
        if self.profissao == 'Médico':
            return f'Olá, Dr. {self.nome}!'
        elif self.profissao == 'Professor':
            return f'Olá, Prof. {self.nome}!'
        else:
            return f'Olá, {self.nome}!'

# Testando a classe Pessoa
pessoa1 = Pessoa('João', 30, 'Médico')
print(pessoa1)  # Imprime a representação da pessoa

pessoa1.aniversario()  # Incrementa a idade em um ano
print(pessoa1)  # Imprime novamente a representação da pessoa após o aniversário

print(pessoa1.saudacao)  # Imprime uma saudação personalizada com base na profissão da pessoa
1 resposta

Oii Anderson, tudo bem?

A refatoração adicionou uma camada de conveniência ao código, permitindo acessar a saudação como um atributo. Isso torna o código mais limpo e legível. Ótimo trabalho!

Um abraço e bons estudos.