1
resposta

Fiz Assim - 06 Mão na massa: refatorando uma função

class Pessoa:

    def __init__(self, nome, idade, profissao):
        self._nome = nome.title()
        self._idade = idade
        self._profissao = profissao.title()

    def __str__(self):
        return f'{self._nome:<11}{self._idade:<11}{self._profissao}'

    def aniversario(self):
        self._idade +=1
        print(f'- {self._nome}, agora você tem {self._idade} anos.')

    @property
    def saudacao(self):
        if self._profissao:
           return f'Olá, {self._nome} é {self._profissao} '
        else:
            return f'Olá, {self._nome} boa sorte na escolha da profissão'

#Instância de Pessoa()
pessoa1 = Pessoa('marina', 33, 'médica')
pessoa2 = Pessoa('beto', 50, 'domador de cavalos')
pessoa3 = Pessoa('kauã', 16,'')

print(f'''{'NOME':<11}{'IDADE':<11}{'PROFISSÃO'}''')
print('-' * 40)
print(pessoa1)
print(pessoa2)
print(pessoa3)
print()

#Chamada do aniversário
print(f'{3*'_'}       Feliz Aniversario       {3*'_'}')
pessoa1.aniversario()
pessoa2.aniversario()
pessoa3.aniversario()
print()

#Chamada a Saudação pela profissao
print(pessoa1.saudacao)
print(pessoa2.saudacao)
print(pessoa3.saudacao)
1 resposta

Oi Shayne,

Seu código ficou excelente! 👍

A estrutura da classe Pessoa está muito bem organizada e os métodos aniversario e saudacao funcionam perfeitamente.

A utilização de property para o método saudacao foi uma ótima sacada, permitindo acessá-lo como um atributo. 💪

🎓 Para saber mais: Documentação oficial sobre property em Python.

Continue assim, você está no caminho certo! 🎉