python实现学生信息管理系统(面向对象)


Posted in Python onJune 05, 2022

本文实例为大家分享了python实现学生信息管理系统的具体代码,供大家参考,具体内容如下

1.主要内容

python种的.py文件如图所示

第一个文件是用来管理文件中包中各个模块的关系的文件

第二个文件是主函数文件,就是在主函数文件调用其余文件和模块

第三个模块式学生信息管理的模块

第四个文件是用来存放学生数据的文件

第五个文件是学生信息的定义和显示模块

python实现学生信息管理系统(面向对象)

2.实现代码

1)第一个文件是包中的管理文件自动生成且不需要修改

2)main.py文件

from managerSystem import *#导入模块managerSystem,可以使用其中的功能

if __name__=='__main__':#定义只能在运行main.py文件中运行,才执行的代码
    student_manager=StudentManager()
    student_manager.run()

3)学生信息管理模块

from student import *


class StudentManager(object):

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

    def run(self):
        self.load_student()

        while True:
            self.show_menu()
            ret = int(input('请输入数字1——7:'))
            if ret == 1:
                self.add_student()
            elif ret == 2:
                self.del_student()
            elif ret == 3:
                self.modify_student()
            elif ret == 4:
                self.search_student()
            elif ret == 5:
                self.show_student()
            elif ret == 6:
                self.save_student()
            elif ret == 7:
                break

    @staticmethod#此方法在执行时,不需要传入任何参数
    def show_menu():
        print('请选择如下序号:')
        print('1.添加学员')
        print('2.删除学员')
        print('3.修改学员信息')
        print('4.查找学员')
        print('5.显示学员信息')
        print('6.保存学员信息')
        print('7.退出系统')

    def add_student(self):
        name = input('请输入学员姓名:')
        gender = input('请输入学员性别:')
        tel = input('请输入电话号码:')
        student = Student(name, gender, tel)
        self.student_list.append(student)
        # print(self.student_list)
        # print(student)

    def del_student(self):
        del_name = input('请输入需要删除的学员姓名:')
        for i in self.student_list:
            if i.name == del_name:
                self.student_list.remove(i)
                break
        else:
            print('查无此人')
        # print(self.student_list)

    def modify_student(self):
        modify_name = input('请输入需要修改的学员姓名:')
        for i in self.student_list:
            if i.name == modify_name:
                i.name = input('亲输入需要修改的学员姓名:')
                i.gender = input('请输入需要修过的学员性别:')
                i.tel = input('请输入需要修改的学员手机号:')
                print(f'修改的信息为{i.name},{i.gender},{i.tel}')
                break
        else:
            print('需要修改的学员不存在')

    def search_student(self):
        searce_name = input('请输入需要查询的学员姓名:')
        for i in self.student_list:
            if i.name == searce_name:
                print(f'姓名:{i.name},性别:{i.gender},手机号:{i.tel}')
                break
        else:
            print('查无此人')

    def show_student(self):
        print('姓名:\t性别:\t手机号:')
        for i in self.student_list:
            print(f'{i.name}\t{i.gender}\t{i.tel}')

    def save_student(self):
        f = open('student.data', 'w')
        new_list = [i.__dict__ for i in self.student_list]
        print(new_list)
        f.write(str(new_list))
        f.close()

    def load_student(self):
        # 1. 打开文件:尝试r打开,如果有异常w
        try:
            f = open('student.data', 'r')
        except:
            f = open('student.data', 'w')
        else:
            # 2. 读取数据:文件读取出的数据是字符串还原列表类型;[{}] 转换 [学员对象]
            data = f.read()  # 字符串
            if data != '':  # 此时需要添加判断文件是否为空,否则会发生报错
                new_list = eval(data)
                self.student_list = [Student(i['name'], i['gender'], i['tel']) for i in new_list]
        finally:
            # 3. 关闭文件
            f.close()

4)存储数据的文件不需要编辑

5)student.py文件主要是用来存放学生的主要信息的模块,以及可以查看学生信息的方法

class Student(object):
    def __init__(self, name, gender, tel):
        self.name = name
        self.gender = gender
        self.tel = tel

    def __str__(self):
        return f'{self.name},{self.gender}, {self.tel}'

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。


Tags in this post...

Python 相关文章推荐
Python中删除文件的程序代码
Mar 13 Python
Python自定义函数定义,参数,调用代码解析
Dec 27 Python
对python append 与浅拷贝的实例讲解
May 04 Python
Python多进程fork()函数详解
Feb 22 Python
Django自定义用户登录认证示例代码
Jun 30 Python
python自定义时钟类、定时任务类
Feb 22 Python
将python安装信息加入注册表的示例
Nov 20 Python
详解基于Jupyter notebooks采用sklearn库实现多元回归方程编程
Mar 25 Python
解决django xadmin主题不显示和只显示bootstrap2的问题
Mar 30 Python
jupyter notebook中新建cell的方法与快捷键操作
Apr 22 Python
基于matplotlib中ion()和ioff()的使用详解
Jun 16 Python
python selenium xpath定位操作
Sep 01 Python
Python使用pyecharts控件绘制图表
Jun 05 #Python
Python使用openpyxl模块处理Excel文件
Jun 05 #Python
Python中requests库的用法详解
Jun 05 #Python
Python加密与解密模块hashlib与hmac
Jun 05 #Python
Python日志模块logging用法
Jun 05 #Python
Python使用Beautiful Soup(BS4)库解析HTML和XML
Jun 05 #Python
Python四款GUI图形界面库介绍
You might like
2020年4月放送决定!第2期TV动画《邪神酱飞踢》视觉图&主题曲情报公开!
2020/03/06 日漫
杏林同学录(三)
2006/10/09 PHP
php curl基本操作详解
2013/07/23 PHP
一个简单且很好用的php分页类
2013/10/26 PHP
php对象在内存中的存在形式分析
2015/02/03 PHP
Thinkphp5.0 框架Model模型简单用法分析
2019/10/11 PHP
JQuery中serialize() 序列化
2015/03/13 Javascript
JS组件Bootstrap实现弹出框和提示框效果代码
2015/12/08 Javascript
chorme 浏览器记住密码后input黄色背景处理方法(两种)
2017/11/22 Javascript
基于Vue 2.0 监听文本框内容变化及ref的使用说明介绍
2018/08/24 Javascript
基于vue的验证码组件的示例代码
2019/01/22 Javascript
js实现简单掷骰子效果
2019/10/24 Javascript
JS+HTML5本地存储Localstorage实现注册登录及验证功能示例
2020/02/10 Javascript
javascript设计模式 ? 代理模式原理与用法实例分析
2020/04/16 Javascript
python回溯法实现数组全排列输出实例分析
2015/03/17 Python
Python实现模拟登录及表单提交的方法
2015/07/25 Python
python使用psutil模块获取系统状态
2016/08/27 Python
python实现二维码扫码自动登录淘宝
2016/12/27 Python
python 3调用百度OCR API实现剪贴板文字识别
2018/09/04 Python
python实现嵌套列表平铺的两种方法
2018/11/08 Python
Python获取时间范围内日期列表和周列表的函数
2019/08/05 Python
python之PyQt按钮右键菜单功能的实现代码
2019/08/17 Python
pygame库实现移动底座弹球小游戏
2020/04/14 Python
Opencv常见图像格式Data Type及代码实例
2020/11/02 Python
python基于exchange函数发送邮件过程详解
2020/11/06 Python
cookies应对python反爬虫知识点详解
2020/11/25 Python
html2 canvas生成清晰的图片实现打印功能
2019/09/23 HTML / CSS
飞利浦法国官网:Philips法国
2019/07/10 全球购物
.NET是怎么支持多种语言的
2015/02/24 面试题
网络书店创业计划书
2014/02/07 职场文书
教师一帮一活动总结
2014/07/08 职场文书
2015年基层党建工作汇报材料
2015/06/25 职场文书
大学生读书笔记范文
2015/07/01 职场文书
2016年度先进班组事迹材料
2016/03/01 职场文书
nginx实现发布静态资源的方法
2021/03/31 Servers
ubuntu下常用apt命令介绍
2022/06/05 Servers