Я создал простую библиотечную систему, в которой хранятся книги с идентификатором, именем и стоимостью. Мой вопрос довольно прост, но мои ограниченные знания Python подвели меня.
Я создал класс, который хранит книги в библиотеке, они создаются следующим образом;
if __name__ == '__main__':
lib = Library()
book1 = Book(1, 'Bookname1', "$30")
book2 = Book(2, 'Bookname2', "$10")
book3 = Book(3, 'Bookname3', "$40")
Мне нужно создать функцию, которая ищет книгу по ее идентификатору, сделав функцию в моем классе библиотеки. Я попытался сделать это как в коде ниже, но это не сработало. по сути, я хочу дать своей функции идентификатор, и она должна возвращать название и стоимость этой конкретной книги, но только если идентификатор присутствует в списке.
class Book:
def __init__(self, ID, name, price):
self.ID = ID
self.name = name
self.price = price
def show(self):
print(self.ID, self.name, self.price)
def get_attribute_string(self):
print(str(self.ID) + '_' + str(self.name) + '_' + str(self.price))
def get_id(self):
print(self.ID)
def get_name(self):
print(self.name)
def get_price(self):
print(self.price)
class Library:
def __init__(self):
self.books = []
def add_book(self, Book):
self.books.append(Book)
def remove_book(self, Book):
self.books.remove(Book)
#def show_id(self, ID):
# if ID in lib:
# return self.books
def show_all(self):
for Book in self.books:
Book.show()
if __name__ == '__main__':
lib = Library()
book1 = Book(1, 'Bookname1', "$30")
book2 = Book(2, 'Bookname2', "$10")
book3 = Book(3, 'Bookname3', "$40")
#1.show_id
lib.add_book(book1)
lib.add_book(book2)
lib.add_book(book3)
lib.remove_book(book2)
lib.show_all()