import datetime
class Pessoa:
lista_de_pessoas = []
def __init__(self, nome: str, idade: int, profissao: str):
if not isinstance(nome, str) or not nome:
raise ValueError('O nome deve ser uma string, não vazia.')
if not isinstance(idade, int) or not idade:
raise ValueError('A idade deve ser um número, inteiro positivo')
if not isinstance(profissao, str) or not profissao:
raise ValueError('A sua profissão deve ser um valor string, não vazio')
self.nome = nome
self.idade = idade
self.profissao = profissao
Pessoa.lista_de_pessoas.append(self)
def __str__(self):
return f'{self.nome:<15} | {str(self.idade):<5} | {self.profissao}'
@staticmethod
def listar_pessoas():
print(f' {"Nome":<15} | {"idade":<5} | {"profissao":<15}')
for indice, pessoa in enumerate(Pessoa.lista_de_pessoas):
print(f'{indice:<4} {pessoa}')
def aniversario(self):
self.idade+=1
@property
def saudacao(self):
return f'Bem vindo {self.profissao}.'
pessoa1 = Pessoa('Paulo', 40, 'Analista de TI') pessoa2 = Pessoa('Jesus', 33, 'Evangelizador') pessoa3 = Pessoa('Sakura', 25, 'Amazona')
pessoa1.aniversario()
print(pessoa1.saudacao)
Pessoa.listar_pessoas()