1
resposta

[Práctica] Mão na massa: refatorando uma função

class Person:
    def __init__(self, name, age, job):
        self._name = name
        self._age = age
        self._job = job.title()

    def __str__(self):
        return f"{self._name} | {self._age} | {self._job}"

    def birthday(self):
        self._age += 1
        print(
            f"Parabéns pelos seus {self._age} anos de vida @{self._name.lower().replace(" ", "")}."
        )

    @property
    def greeting(self):
        if self._job:
            return f'Olá, sou {self._name}! Trabalho como {self._job}.'
        else:
            return f'Olá, sou {self._name}!'


person1 = Person("John Doe", 21, "Developer")
person1.birthday()
print(person1.greeting)
1 resposta

Oi, Taciano! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Você estruturou a classe de forma clara e funcional. O uso do @property para o método greeting está muito bem aplicado, e o método birthday() com o print() personalizado ficou ótimo. Só vale um cuidado com as aspas dentro do replace() — como você já está usando aspas duplas na f-string, o ideal é colocar aspas simples dentro do replace() para evitar erro de sintaxe.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!