Python の基礎 (10) Python はシンプルなライブラリ管理システムを実装します

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 図書館管理システムの簡単な実践

シンプルなライブラリ管理システムの実装、主な機能は次のとおりです。

  1. Library図書館の書籍を管理するためにクラスが定義されています。
  2. ブックの追加、ブックの削除、ブックの検索、ブックの変更、すべてのブックの表示、ブックの保存、ブックのロード、ブックの並べ替えなどの機能を提供します。
  3. ファイル操作により、書籍情報を「book.txt」という名前のテキストファイルに保存したり、このファイルから書籍情報を読み込んだりできます。
  4. コマンド ライン メニューが提供され、ユーザーはブックの追加、削除、検索、変更、表示、保存、ロード、並べ替えなどのさまざまな操作を選択できます。
  5. 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

  • 効果

画像.png
この時点で、Python の基本的な知識は完了しました。ここでは、Python の高度な知識、つまりスレッド化について説明します。

おすすめ

転載: blog.csdn.net/Darwin_Bossen/article/details/132654796