A criação de classes em Python é uma maneira poderosa de estruturar código de forma orientada a objetos. Abaixo, temos um exemplo de uma classe chamada Livro que representa informações sobre um livro, como título, autor e número de páginas:
class Livro:
def __init__(self, titulo='', autor='', paginas=0):
self.titulo = titulo
self.autor = autor
self.paginas = paginas
def __str__(self):
return f'{self.titulo} por {self.autor} - {self.paginas} páginas'
@property
def titulo_autor(self):
return f'{self.titulo} por {self.autor}'
def aumentar_paginas(self, quantidade):
self.paginas += quantidade
Agora é sua vez! Crie uma nova classe chamada Pessoa com atributos como nome, idade e profissão. Adicione um método especial str para imprimir uma representação em string da pessoa. Implemente também um método de instância chamado aniversario que aumenta a idade da pessoa em um ano. Por fim, adicione uma propriedade chamada saudacao que retorna uma mensagem de saudação personalizada com base na profissão da pessoa.
class Pessoa:
def __init__(self, nome='', idade= 0, profissao=''):
self.nome = nome
self.idade = idade
self.profissao = profissao
def __str__(self):
return f'{self.nome} | idade = {self.idade} anos | trabalho = {self.profissao}'
@property
def saudacao(self):
return f'Olá! meu nome é {self.nome}, tenho {self.idade} anos e trabalho como {self.profissao}'
def aniversario(self):
self.idade += 1
return self.idade
pessoa1 = Pessoa(nome='Diego', idade= 27, profissao='Dentista')
pessoa2 = Pessoa(nome='João', idade= 35, profissao='Advogado')
pessoa3 = Pessoa(nome='Maria', idade= 31, profissao='Médica')
print(pessoa1)
print(pessoa2)
print(pessoa3)
print()
print("-------")
print(pessoa1.saudacao)
print(pessoa2.saudacao)
print(pessoa3.saudacao)
print()
print("-------")
pessoa1.aniversario()
pessoa2.aniversario()
pessoa3.aniversario()
print('Proximo Aniversário\n')
print(pessoa1)
print(pessoa2)
print(pessoa3)
Diego | idade = 27 anos | trabalho = Dentista
João | idade = 35 anos | trabalho = Advogado
Maria | idade = 31 anos | trabalho = Médica
-------
Olá! meu nome é Diego, tenho 27 anos e trabalho como Dentista
Olá! meu nome é João, tenho 35 anos e trabalho como Advogado
Olá! meu nome é Maria, tenho 31 anos e trabalho como Médica
-------
Proximo Aniversário
Diego | idade = 28 anos | trabalho = Dentista
João | idade = 36 anos | trabalho = Advogado
Maria | idade = 32 anos | trabalho = Médica