Chapter 9: Object-Oriented Programming / Lesson 50

Library Management System

🎯 Project: Library Management System

Let's build a library management system using object-oriented programming! This project combines classes, inheritance, file handling, and error handling. You'll create a system to manage books and library members with persistent storage.

This project will help you practice OOP concepts, file operations, and building a complete application with multiple classes.

Project Requirements

Your library management system should:

  • Create Book and Member classes
  • Add and remove books from the library
  • Register and manage library members
  • Allow members to borrow and return books
  • Save data to files
  • Handle errors gracefully
  • Provide a menu interface

Step-by-Step Implementation

Here's how to build the library system:

library_system.py
class Book: def __init__(self, title, author, isbn): self.title = title self.author = author self.isbn = isbn self.is_borrowed = False def borrow(self): if not self.is_borrowed: self.is_borrowed = True return True return False def return_book(self): self.is_borrowed = False class Member: def __init__(self, name, member_id): self.name = name self.member_id = member_id self.borrowed_books = [] def borrow_book(self, book): if book.borrow(): self.borrowed_books.append(book) return True return False class Library: def __init__(self): self.books = [] self.members = [] def add_book(self, book): self.books.append(book) def add_member(self, member): self.members.append(member) def display_books(self): for book in self.books: status = "Borrowed" if book.is_borrowed else "Available" print(f"{book.title} by {book.author} - {status}") # Main program library = Library() # Add some books library.add_book(Book("Python Basics", "John Doe", "12345")) library.add_book(Book("Advanced Python", "Jane Smith", "67890")) # Add a member member = Member("Alice", "M001") library.add_member(member) # Display books library.display_books()

Enhancement Ideas

Try adding these features:

  • Save books and members to files
  • Search for books by title or author
  • Due dates for borrowed books
  • Fine calculation for overdue books
  • Book categories and genres
  • Member borrowing history
🎉

Lesson Complete!

Great work! Continue to the next lesson.

main.py
📤 Output
Click "Run" to execute...