1
resposta

[Projeto] Resolução

class Pessoa:
    lista_pessoas = []

    def __init__(self, nome='', idade=0, profissao=''):
        self._nome = nome.title()
        self._idade = idade
        self._profissao = profissao.upper()
        Pessoa.lista_pessoas.append(self)

    def __str__(self):
        return f'{self._nome}\nIdade: {self._idade}\nProfissão: {self._profissao}'

    @property
    def saudacao(self):
        return f'Olá {self._nome}, você é um {self._profissao}.' if self._profissao else f'Olá {self._nome}, você ainda não tem profissão.'

    def aniversario(self, quantidade_aniversarios=0):
        self._idade += quantidade_aniversarios


roger = Pessoa(nome='roger cardoso ferreira', idade=19, profissao='programador')
giovanni = Pessoa(nome='giovanni zucolin', idade=19)

print(roger)
print(giovanni)
print()

print(roger.saudacao)
print(giovanni.saudacao)
print()

roger.aniversario(quantidade_aniversarios=5)
print(roger)
1 resposta

Boa Tarde, Roger! Tudo bem com você?

Você fez um ótimo trabalho com a implementação da classe Pessoa. O código está bem estruturado e a funcionalidade está clara. Gostaria de compartilhar uma curiosidade interessante sobre como podemos instanciar um objeto da sua classe.

No Python, quando definimos um método construtor (__init__), podemos instanciar objetos da classe de maneira direta e prática, passando os parâmetros na mesma ordem em que são definidos no construtor. Isso facilita a criação de instâncias da classe, como no exemplo abaixo:

roger = Pessoa('roger cardoso ferreira', 19, 'programador')

Ao instanciar dessa forma, você está passando diretamente os valores para nome, idade e profissao sem usar os nomes dos parâmetros. Essa técnica é bastante útil para criar objetos de forma rápida e concisa.

Porém, é sempre bom lembrar que, ao usar essa abordagem, a ordem dos argumentos deve corresponder exatamente à ordem dos parâmetros definidos no método __init__. Caso contrário, pode haver confusão nos valores atribuídos aos atributos.

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado