- Crie uma classe chamada Livro com um construtor que aceita os parâmetros titulo, autor e ano_publicacao. Inicie um atributo chamado disponivel como True por padrão.
class Livro:
def __init__(self, titulo, autor, ano_lancamento):
self.titulo = titulo
self.autor = autor
self.ano_lancamento = ano_lancamento
self.disponivel = True
- Na classe Livro, adicione um método especial str que retorna uma mensagem formatada com o título, autor e ano de publicação do livro. Crie duas instâncias da classe Livro e imprima essas instâncias.
def __str__(self):
return f"Título: {self.titulo} | Autor: {self.autor} | Ano de lançamento: {self.ano_lancamento}"
livro1 = Livro("Senhor dos Anéis - A Sociedade do Anel", "J.R.R Tolkien", 1954)
livro2 = Livro("Duna", "Frank Herbert", 1965)
print(livro1)
print(livro2)
- Adicione um método de instância chamado emprestar à classe Livro que define o atributo disponivel como False. Crie uma instância da classe, chame o método emprestar e imprima se o livro está disponível ou não.
def emprestar_livro(self):
self.disponivel = False
livro3 = Livro("Guia do Mochileiro das Galáxias", "Douglas Adams", 1979)
livro3.emprestar_livro()
print(livro3.disponivel)
- Adicione um método estático chamado verificar_disponibilidade à classe Livro que recebe um ano como parâmetro e retorna uma lista dos livros disponíveis publicados nesse ano.
@staticmethod
def verificar_disponibilidade(ano):
livros_disponiveis = [livro for livro in Livro.livros if livro.ano_lancamento == ano and livro.disponivel]
return livros_disponiveis
livros1954 = Livro.verificar_disponibilidade(1954)
for livro in livros1954:
print(livro)
- Crie um arquivo chamado biblioteca.py e importe a classe Livro neste arquivo.
arquivo biblioteca.py
from exercicios3 import Livro
- No arquivo biblioteca.py, empreste o livro chamando o método emprestar e imprima se o livro está disponível ou não após o empréstimo.
livro5 = Livro("O Senhor dos Anéis - As Duas Torres", "J.R.R Tolkien", 1954)
print(livro5)
livro5.emprestar_livro()
print(livro5.disponivel)
- No arquivo biblioteca.py, utilize o método estático verificar_disponibilidade para obter a lista de livros disponíveis publicados em um ano específico.
livros1954 = Livro.verificar_disponibilidade(1954)
for livro in livros1954:
print(livro)
- Crie um arquivo chamado main.py, importe a classe Livro e, no arquivo main.py, instancie dois objetos da classe Livro e exiba a mensagem formatada utilizando o método str.
arquivo main.py
from exercicios3 import Livro
Livro1 = Livro("Senhor dos Anéis - A Sociedade do Anel", "J.R.R Tolkien", 1954)
Livro2 = Livro("Duna", "Frank Herbert", 1965)
print(Livro1)
print(Livro2)