class Livro:
    total_livros = []
    def __init__(self, titulo, autor, ano):
        self.titulo = titulo
        self.autor = autor
        self.ano = ano
        self.disponivel = True
        Livro.total_livros.append(self)
    def __str__(self):
        return f"{self.titulo} por {self.autor} ano de publicação {self.ano}"
    @property
    def emprestar(self):
        if self.disponivel:
            self.disponivel = False
            return "Livro emprestado com sucesso!"
        else:
            return "Livro não está disponível para empréstimo."
    @property
    def devolver(self):
        if not self.disponivel:
            self.disponivel = True
            return "Livro devolvido com sucesso!"
        else:
            return "Livro já está disponível."
    @classmethod
    def verificar_disponibilidade(cls, ano):
        livros_disponiveis = []
        for livro in cls.total_livros:
            if livro.disponivel and livro.ano == ano:
                livros_disponiveis.append(livro)
        for livro in livros_disponiveis:
            print(f"Título: {livro.titulo}, Autor: {livro.autor}, Ano: {livro.ano}")
livro1 = Livro("Dom Casmurro", "Machado de Assis", 1899)
livro2 = Livro("O Alquimista", "Paulo Coelho", 1988)
livro3 = Livro("Gabriela Cravo e Canela", "Jorge Amado", 1988)
print(livro1)
print(livro1.emprestar)
print(livro1.disponivel)
print(Livro.verificar_disponibilidade(1988))
Primeira dúvida: Para não ter um retorno de espaço de memoria usei o print. Porém o retorno do print é um None. Isso estaria errado?
Segunda dúvida É pedido para que o verificar_disponibilidade seja um metodo estatico. Colocando ele como metodo da classe estaria errado?
 
            