Pythonの基本記事シリーズ
Pythonの基礎(1) Pythonの基礎理解と環境構築 | Pythonの基礎(1) Pythonの基礎理解と環境構築 |
---|---|
Pythonの基礎(2) Pythonの変数と基本的なデータ型 | Pythonの基礎(2) Pythonの変数と基本的なデータ型 |
Pythonの基礎(3) Pythonの基本文と基本操作 | Pythonの基礎(3) Pythonの基本文と基本操作 |
Pythonの基礎(4) Pythonの関数 | Pythonの基礎(4) Pythonの関数 |
Python の基本 (5) Python パッケージとモジュール | Python の基本 (5) Python パッケージとモジュール |
Pythonの基礎(6) Pythonファイルモジュール | Pythonの基礎(6) Pythonファイルモジュール |
Pythonの基礎 (7) Pythonの例外処理の仕組み | Pythonの基礎 (7) Pythonの例外処理の仕組み |
Python の基礎 (8) Python のクラスとオブジェクト | Python の基礎 (8) Python のクラスとオブジェクト |
Pythonの基礎 (9) Pythonの組み込みモジュール | Pythonの基礎 (9) Pythonの組み込みモジュール |
Python の基礎 (10) Python はシンプルなライブラリ管理システムを実装します | Python の基礎 (10) Python はシンプルなライブラリ管理システムを実装します |
4.10 図書館管理システムの簡単な実践
シンプルなライブラリ管理システムの実装、主な機能は次のとおりです。
Library
図書館の書籍を管理するためにクラスが定義されています。- ブックの追加、ブックの削除、ブックの検索、ブックの変更、すべてのブックの表示、ブックの保存、ブックのロード、ブックの並べ替えなどの機能を提供します。
- ファイル操作により、書籍情報を「book.txt」という名前のテキストファイルに保存したり、このファイルから書籍情報を読み込んだりできます。
- コマンド ライン メニューが提供され、ユーザーはブックの追加、削除、検索、変更、表示、保存、ロード、並べ替えなどのさまざまな操作を選択できます。
Book
このクラスは、書籍のタイトル、著者、価格、出版社、発行日、評価、レビュー数、リンクなどの書籍情報を表すために使用されます。
ユーザーは、対応する操作番号を入力してさまざまな操作を実行することで、図書館内の書籍を管理できます。
- 本
# ---encoding:utf-8---
# @Time : 2023/9/3 19:30
# @Author : Darwin_Bossen
# @Email :[email protected]
# @Site : 书籍类
# @File : Book.py
class Book:
# 书籍类
def __init__(self, name, author, price, publish, date, score, comment, url):
self.name = name
self.author = author
self.price = price
self.publish = publish
self.date = date
self.score = score
self.comment = comment
self.url = url
# 重写str方法
def __str__(self):
return "书名:" + self.name + "\n作者:" + self.author + "\n价格:" + self.price + "\n出版社:" + self.publish + "\n出版日期:" + self.date + "\n评分:" + self.score + "\n评论数:" + self.comment + "\n链接:" + self.url
- 図書館クラス
# ---encoding:utf-8---
# @Time : 2023/9/3 19:32
# @Author : Darwin_Bossen
# @Email :[email protected]
# @Site : 图书类
# @File : Library.py
from Book import Book
# 图书馆类
class Library:
def __init__(self):
self.book_list = []
def __str__(self):
return str(len(self.book_list)) + "本书"
# 显示所有书籍
def showBook(self):
for book in self.book_list:
print(book)
print("--------------------------------------------------")
# 添加书籍
def addBook(self, book):
self.book_list.append(book)
# 删除书籍
def delBook(self, book):
if book in self.book_list:
self.book_list.remove(book)
print("删除成功")
else:
print("删除失败")
# 查找书籍
def findBook(self, name):
for book in self.book_list:
if book.name == name:
print(book)
return book
print("查无此书")
return None
# 修改书籍
def modifyBook(self, book):
if book in self.book_list:
self.book_list.remove(book)
self.book_list.append(book)
print("修改成功")
else:
print("修改失败")
# 保存书籍
def saveBook(self):
with open("book.txt", "w", encoding="utf-8") as f:
for book in self.book_list:
f.write(book.name + "," + book.author + "," + book.price + "," + book.publish + "," + book.date + "," + book.score + "," + book.comment + "," + book.url + "\n")
print("保存成功")
# 加载书籍
def loadBook(self):
with open("book.txt", "r", encoding="utf-8") as f:
while True:
line = f.readline()
if line == "":
break
book = line.split(",")
self.book_list.append(book)
print("加载成功")
# 排序
def sortBook(self):
self.book_list.sort(key=lambda book:book.score, reverse=True)
print("排序成功")
if __name__ == '__main__':
library = Library()
while True:
print("1.添加书籍")
print("2.删除书籍")
print("3.查找书籍")
print("4.修改书籍")
print("5.显示所有书籍")
print("6.保存书籍")
print("7.加载书籍")
print("8.排序")
print("0.退出")
num = input("请输入操作序号:")
if num == "1":
name = input("请输入书名:")
author = input("请输入作者:")
price = input("请输入价格:")
publish = input("请输入出版社:")
date = input("请输入出版日期:")
score = input("请输入评分:")
comment = input("请输入评论数:")
url = input("请输入链接:")
book = Book(name, author, price, publish, date, score, comment, url)
library.addBook(book)
elif num == "2":
name = input("请输入书名:")
book = library.findBook(name)
library.delBook(book)
elif num == "3":
name = input("请输入书名:")
library.findBook(name)
elif num == "4":
name = input("请输入书名:")
book = library.findBook(name)
if book != None:
author = input("请输入作者:")
price = input("请输入价格:")
publish = input("请输入出版社:")
date = input("请输入出版日期:")
score = input("请输入评分:")
comment = input("请输入评论数:")
url = input("请输入链接:")
book = Book(name, author, price, publish, date, score, comment, url)
library.modifyBook(book)
elif num == "5":
library.showBook()
elif num == "6":
library.saveBook()
elif num == "7":
library.loadBook()
elif num == "8":
library.sortBook()
elif num == "0":
break
- 効果
この時点で、Python の基本的な知識は完了しました。ここでは、Python の高度な知識、つまりスレッド化について説明します。