1
resposta

Minha resposta

class Pessoa:

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

    def __str__(self):
        return f'\nNome: {self._nome}\nIdade: {self._idade}\nProfissão: {self._profissao}'
    
    def aniversario(self):
        self._idade += 1 
    
    def saudacao(self):
        print(f'Olá, meu nome é {self._nome} e sou {self._profissao}, seja bem vindo(a)!')

joao = Pessoa('João', 35, 'Professor')
joao.aniversario()
joao.saudacao()

marcela = Pessoa('Marcela', 39, 'Médica')
marcela.aniversario()
marcela.saudacao()

print(joao)
print(marcela)
1 resposta

Oi, Igor! Como vai?

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

Gostei de como você usou o método __str__ para exibir as informações da classe Pessoa, isso torna a saída mais legível e organizada. Além disso, a forma como aplicou title() e upper() para padronizar os atributos mostra bastante atenção aos detalhes.

Uma dica interessante para o futuro é usar @property para acessar atributos de forma controlada. Veja este exemplo:


class Pessoa:
    def __init__(self, nome, idade):
        self._nome = nome
        self._idade = idade
    
    @property
    def idade(self):
        return self._idade
    
    def aniversario(self):
        self._idade += 1

p = Pessoa("Ana", 20)
p.aniversario()
print(p.idade)

Esse código cria uma classe simples, aumenta a idade em um aniversário e acessa o valor de forma segura com @property.

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