千家信息网

如何用Python制作小型图书管理系统

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇内容主要讲解"如何用Python制作小型图书管理系统",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何用Python制作小型图书管理系统"吧!目标了解
千家信息网最后更新 2026年11月01日如何用Python制作小型图书管理系统

本篇内容主要讲解"如何用Python制作小型图书管理系统",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何用Python制作小型图书管理系统"吧!

目标

了解面向对象开发过程中类内部功能的分析方法。

了解常用系统功能

系统需求

使用面向对象编程思想完成图书管理系统的开发。具体如下:

系统要求:图书信息存储到文件中

系统功能,添加,删除,修改,保存,查询,显示所有图书信息,退出系统等功能。

程序文件分析设计

角色分析:图书,管理系统

注意事项:

一个角色一个程序文件

项目的主入口,可以定义为main.py

主要功能

基于面向对象:实现图书:

添加功能,

删除功能,

修改功能,

查询功能,

显示所有,

保存到文件中,

加载数据等功能。

程序文件

程序入口:main.py

图书文件:book.py

管理系统文件:systemmgr.py

1.1.4 程序代码

图书文件代码

图书文件:book.py

需求:图书包括:书名,类型,sn号等。

添加__str__魔法方法,方便查看图书对象信息

代码:

class Book(object):    def __init__(self,name,type,sn):        self.name=name        self.type=type        self.sn=sn    def __str__(self):        return f'{self.name},{self.type},{self.sn}'

管理文件程序代码

需求:

系统功能循环使用,根据用户输入的功能序号执行不同的功能

步骤:

加载数据

显示功能菜单

根据用户输入进行不同操作功能

定义系统功能函数:添加,删除,保存等

定义该管理系统的类:用于初始化,类中存储管理系统的代码。

定义一个一个list_page空图书列表,方便存储。

def __init__(self):
self.list_page=[]

添加一个静态方法用于显示功能菜单

@staticmethod    def show_menu():        print("请选择如下功能")        print("1,添加新书")        print("2,删除新书")        print("3,修改新书")        print("4,查询相关书")        print("5,显示所有书")        print("6,保存书信息")        print("7,加载书信息")        print("9,退出系统")

程序入口函数,启动程序执行的函数 run()

def run(self):    while True:        self.show_menu()        int_num=int(input("请输入功能序号"))        if int_num==1:#添加            self.add_book()        if int_num == 2:#删除            self.del_book()        elif int_num==3:#修改            self.update_book()        elif int_num==4:#查询            self.search_book()        elif int_num==5:#显示            self.show_book()        elif int_num==6:#保存            self.save_book()        elif int_num == 7:#加载            self.load_book()        elif int_num == 9:            print("退出系统")            break    else:        print("输入错误!")

程序入口文件程序代码

功能:导入系统管理模块,启动图书管理系统。

main.py

from xm19code.systemgr import Systemmgrif __name__=='__main__':    rr = Systemmgr()    rr.run()

程序代码清单:

具体代码如下图:

class Book(object):    def __init__(self,name,type,sn):        self.name=name        self.type=type        self.sn=sn    def __str__(self):        return f'{self.name},{self.type},{self.sn}'
from xm19code.systemgr import Systemmgrif __name__=='__main__':    rr = Systemmgr()    rr.run()
#from book  import *from xm19code.book import *class Systemmgr(object):    def __init__(self):        self.list_page=[]    #循环    @staticmethod    def show_menu():        print("请选择如下功能")        print("1,添加新书")        print("2,删除新书")        print("3,修改新书")        print("4,查询相关书")        print("5,显示所有书")        print("6,保存书信息")        print("7,加载书信息")        print("9,退出系统")    def run(self):        while True:            self.show_menu()            int_num=int(input("请输入功能序号"))            if int_num==1:#添加                self.add_book()            if int_num == 2:#删除                self.del_book()            elif int_num==3:#修改                self.update_book()            elif int_num==4:#查询                self.search_book()            elif int_num==5:#显示                self.show_book()            elif int_num==6:#保存                self.save_book()            elif int_num == 7:#加载                self.load_book()            elif int_num == 9:                print("退出系统")                break        else:            print("输入错误!")    def add_book(self):        #根据用户输入的字段添加        name=input("请输入书的名称")        type=input("请输入书的分类")        sn = input("请输入书的sn")        book=Book(name,type,sn)        self.list_page.append(book)        print(self.list_page)        print(book)    def update_book(self):        names = input("请输入要修改的图书:")        for i in self.list_page:            if i.name==names:                i.name=input("请输入要修改的图书名称:")                i.type = input("请输入要修改的图书类型:")                i.sn = input("请输入要修改的图书SN:")                print(f'修改了图书信息成功:图书{i.name} ,类型{i.type},sn为:{i.sn}')                break        else:            print("没有该图书!")    def del_book(self):        names=input("请输入要删除的图书:")        # for 循环查询        for i in self.list_page:            if i.name == names:                self.list_page.remove(i)                print("删除成功!")                break        else:            print("没有该图书")    def show_book(self):        print('图书名称\t\t\t类型\t\t\tSN')        for i in self.list_page:            print(f'{i.name}\t\t\t{i.type}\t\t\t{i.sn}')    def save_book(self):        # 打开文件        f = open('book.data', 'w')        # 文件写人 把list【图书对象】转换为字典        new_list = [i.__dict__ for i in self.list_page]        print(new_list)        f.write(str(new_list))        # 文件关闭        f.close();    def search_book(self):        names=input("请输入要查询的图书名称:")        #for 循环查询        for i in self.list_page:            if i.name==names:                print(f'查询到的图书信息:图书{i.name} ,'                      f'类型{i.type},sn为:{i.sn}')                break        else:            print("没有该图书")    def load_book(self):        try:            f=open('book.data','r')        except:            f=open('book.data','w')        else:            data=f.read()            #文件读取的数据都是字符串且字符串内部为字典数据            # 故需要转换数据类型在转换字典为对象存储到图书列表中            new_list=eval(data)            self.list_page=[Book(i['name'],i['type'],i['sn']) for i in new_list]            print('图书\t\t类型\t\tSN')            for i in self.list_page:                print(f'{i.name}\t\t{i.type}\t\t{i.sn}')        finally:            #关闭文件            f.close()

程序代码运行结果:

C:\Python\Python38\python.exe D:/pythonProject/xm19code/main.py请选择如下功能1,添加新书2,删除新书3,修改新书4,查询相关书5,显示所有书6,保存书信息7,加载书信息9,退出系统请输入功能序号7图书    类型    SNpy    py    1234请选择如下功能1,添加新书2,删除新书3,修改新书4,查询相关书5,显示所有书6,保存书信息7,加载书信息9,退出系统请输入功能序号2请输入要删除的图书:22没有该图书请选择如下功能1,添加新书2,删除新书3,修改新书4,查询相关书5,显示所有书6,保存书信息7,加载书信息9,退出系统请输入功能序号3请输入要修改的图书:22没有该图书!请选择如下功能1,添加新书2,删除新书3,修改新书4,查询相关书5,显示所有书6,保存书信息7,加载书信息9,退出系统请输入功能序号1请输入书的名称1请输入书的分类1请输入书的sn1[, ]1,1,1请选择如下功能1,添加新书2,删除新书3,修改新书4,查询相关书5,显示所有书6,保存书信息7,加载书信息9,退出系统请输入功能序号6[{'name': 'py', 'type': 'py', 'sn': '1234'}, {'name': '1', 'type': '1', 'sn': '1'}]请选择如下功能1,添加新书2,删除新书3,修改新书4,查询相关书5,显示所有书6,保存书信息7,加载书信息9,退出系统请输入功能序号1请输入书的名称2请输入书的分类2请输入书的sn2[, , ]2,2,2请选择如下功能1,添加新书2,删除新书3,修改新书4,查询相关书5,显示所有书6,保存书信息7,加载书信息9,退出系统请输入功能序号4请输入要查询的图书名称:1查询到的图书信息:图书1 ,类型1,sn为:1请选择如下功能1,添加新书2,删除新书3,修改新书4,查询相关书5,显示所有书6,保存书信息7,加载书信息9,退出系统请输入功能序号4请输入要查询的图书名称:1查询到的图书信息:图书1 ,类型1,sn为:1请选择如下功能1,添加新书2,删除新书3,修改新书4,查询相关书5,显示所有书6,保存书信息7,加载书信息9,退出系统请输入功能序号6[{'name': 'py', 'type': 'py', 'sn': '1234'}, {'name': '1', 'type': '1', 'sn': '1'}, {'name': '2', 'type': '2', 'sn': '2'}]请选择如下功能1,添加新书2,删除新书3,修改新书4,查询相关书5,显示所有书6,保存书信息7,加载书信息9,退出系统请输入功能序号7图书    类型    SNpy    py    12341    1    12    2    2请选择如下功能1,添加新书2,删除新书3,修改新书4,查询相关书5,显示所有书6,保存书信息7,加载书信息9,退出系统请输入功能序号

到此,相信大家对"如何用Python制作小型图书管理系统"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

图书 功能 新书 输入 信息 系统 查询 文件 序号 选择 程序 管理 类型 管理系统 代码 名称 对象 数据 入口 方法 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技互联网企业 互联网科技财经 盈实互联网科技 互联网巨头反垄断金融科技 中资互联网科技 南京欣网互联网科技 互联网为啥属于高科技 武汉健翔互联网络科技有限公司 燊美集互联网科技有限公司 互联网金融科技名词解释 互联网时代的科技公司 合肥互联网科技公司公章图片 广州千川互联网科技有限公司 产业互联网科技服务公司 富国互联网金融科技混合基金 广州燕处互联网科技有限公司 科技和互联网行业的特点 北京军民互联网科技公司 三亚科技创新互联网基地 安徽九吞吴互联网科技有限公司 上海卓越科技互联网 互联网科技公司的优势 互联网最新的科技有限公司 电子科技大学互联网 一五八零互联网科技 多迪互联网科技有限公司 滨湖区互联网智能科技产品有哪些 众联互联网络科技 株洲百竞科技的互联网营销顾问 互联网 科技节活动 微视频大赛
0