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实现抓取百度搜索结果页的网站标题信息
Jan 22 Python
Python简单调用MySQL存储过程并获得返回值的方法
Jul 20 Python
Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决
Jul 06 Python
详解Python实现多进程异步事件驱动引擎
Aug 25 Python
python基础教程项目三之万能的XML
Apr 02 Python
python 使用re.search()筛选后 选取部分结果的方法
Nov 28 Python
python 判断矩阵中每行非零个数的方法
Jan 26 Python
使用Python代码实现Linux中的ls遍历目录命令的实例代码
Sep 07 Python
python实现翻译word表格小程序
Feb 27 Python
PyQt5中向单元格添加控件的方法示例
Mar 24 Python
python 写函数在一定条件下需要调用自身时的写法说明
Jun 01 Python
python中什么是面向对象
Jun 11 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
php读取30天之内的根据算法排序的代码
2008/04/06 PHP
解析PHP中ob_start()函数的用法
2013/06/24 PHP
php中JSON的使用方法
2015/04/30 PHP
javascript 写类方式之十
2009/07/05 Javascript
js的逻辑运算符 ||
2010/05/31 Javascript
JQuery获取文本框中字符长度的代码
2011/09/29 Javascript
jquery validate 自定义验证方法介绍 日期验证
2014/02/27 Javascript
jQuery多项选项卡的实现思路附样式及代码
2014/06/03 Javascript
js常用数组操作方法简明总结
2014/06/20 Javascript
jquery实现保存已选用户
2014/07/21 Javascript
基于jQuery实现选取月份插件附源码下载
2015/12/28 Javascript
jQuery实现的简单分页示例
2016/06/01 Javascript
浅谈jquery设置和获得checkbox选中的问题
2016/08/19 Javascript
React-Native中props具体使用详解
2017/09/04 Javascript
JS脚本实现网页自动秒杀点击
2018/01/11 Javascript
完美解决axios跨域请求出错的问题
2018/02/05 Javascript
谈谈为什么你的 JavaScript 代码如此冗长
2019/01/30 Javascript
Vue之Mixins(混入)的使用方法
2019/09/24 Javascript
盘点提高 Python 代码效率的方法
2014/07/03 Python
python 爬取微信文章
2016/01/30 Python
python 默认参数问题的陷阱
2016/02/29 Python
python 读取DICOM头文件的实例
2018/05/07 Python
解决pip install xxx报错SyntaxError: invalid syntax的问题
2018/11/30 Python
python实现在遍历列表时,直接对dict元素增加字段的方法
2019/01/15 Python
PyTorch搭建多项式回归模型(三)
2019/05/22 Python
Python numpy.zero() 初始化矩阵实例
2019/11/27 Python
Python3使用 GitLab API 进行批量合并分支
2020/10/15 Python
利用CSS3的flexbox实现水平垂直居中与三列等高布局
2016/09/12 HTML / CSS
暇步士官网:Hush Puppies
2016/09/22 全球购物
豆腐の盛田屋官网:日本自然派的豆乳面膜、肥皂、化妆水、乳液等
2016/10/08 全球购物
JavaScript实现前端网页版倒计时
2021/03/24 Javascript
简历的自荐信
2013/12/19 职场文书
市场营销个人求职信范文
2014/02/02 职场文书
爱国演讲稿400字
2014/05/07 职场文书
春季防火方案
2014/05/10 职场文书
学习张丽丽心得体会
2014/09/03 职场文书