class Livro():
livros_disponiveis = []
def __init__(self,titulo,autor,ano_publicacao):
self.titulo = titulo
self.autor = autor
self.ano_publicacao = ano_publicacao
self.disponivel = True
Livro.livros_disponiveis.append(self)
def __str__(self):
return f'o livro {self.titulo} que pertence ao autor {self.autor}, publicado em {self.ano_publicacao}, {self.disponivel}'
def emprestar(self):
if self.disponivel:
self.disponivel = False
return self.disponivel
@property
def disponivel(self):
if self._disponivel:
return 'esta disponivel'
else:
return 'não esta disponivel'
@disponivel.setter
def disponivel(self,valor):
if isinstance(valor,bool):
self._disponivel = valor
return self._disponivel
else:
raise TypeError('O atributo disponivel só pode ser True ou False')
@classmethod
def verificar_disponibilidade(clm, ano):
for livro in clm.livros_disponiveis:
if livro.disponivel == 'esta disponivel' and livro.ano_publicacao == ano:
print(f'livro {livro.titulo}, {livro.ano_publicacao}')
livro1 = Livro('harry potter','JK',1990)
livro1.emprestar()
livro2 = Livro('Turma da mônica','Mauricio de Souza',1990)
Livro.verificar_disponibilidade(1990)