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
main.py
📤 Output
Click "Run" to execute...