python实现学生信息管理系统(面向对象)
作者:Divetime 发布时间:2022-06-13 16:16:07
标签:python,信息,管理系统
本文实例为大家分享了python实现学生信息管理系统的具体代码,供大家参考,具体内容如下
1.主要内容
python种的.py文件如图所示
第一个文件是用来管理文件中包中各个模块的关系的文件
第二个文件是主函数文件,就是在主函数文件调用其余文件和模块
第三个模块式学生信息管理的模块
第四个文件是用来存放学生数据的文件
第五个文件是学生信息的定义和显示模块
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}'
来源:https://blog.csdn.net/weixin_52788247/article/details/119392809


猜你喜欢
- 不通过数据源名DSN也能访问Access数据库吗?代码如下:<% dim conn &nbs
- HTTP状态码 摘要说明成功2××  
- 以下介绍用数据库实现简单计数器,功能实现统计网站每日访问,每周访问及总访问量的统计,使用js调用下面存为count.asp<%&nbs
- 寻找含有关键字文件和删除文件夹我们往往在操作文件时,会不知道文件具体的路径。一般如果只是处理一个文件的话我们可以在文件所在的文件夹下运行py
- 常用的转换函数是 cast 和 convert,用于把表达式得出的值的类型转换成另一个数据类型,如果转换失败,该函数抛出错误,导致整个事务回
- 本文介绍了一些JavaScript常用到得表单验证函数,方便大家使用。 判断是否为整数,是则返回true,否则返回falsefun
- 废话不多说了,直接把我写的timeit函数分享给大家,具体内容如下:/** * Compute the delay to execute a
- 前言:流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”。Go语言中最常用的流程控制有if和for,
- 本文实例为大家分享了Python OpenCV调用摄像头检测人脸并截图的具体代码,供大家参考,具体内容如 * 意:需要在python中安装Op
- MYSQL数据库安装完成后,默认最大连接数是100,一般流量稍微大一点的论坛或网站这个连接数是远远不够的,增加默认MYSQL连接数的方法有两
- 网页中使用flash可以增强页面的动态交互效果,特别是用flash来制作广告,效果更好。经常使用flash的人,可能就碰到了flash会遮住
- 在存储过程中,请问如何判断所指定表的字段的类型?由于表和视图的每一列在SYSCOLUMNS表中都有详细资料,所以,我们只管从中取用来即可,很
- 本篇博客参考Wuming Zhang的文章“An Easy-to-Use Airborne LiDAR Data Filtering Met
- JavaScript简介一、定义:JavaScript是脚本语言,需要宿主文件,它的宿主文件是html文件。JavaScript 是一种轻量
- 如下所示:class EmptyDelegate(QItemDelegate): def __init__(self,paren
- PyQt5安装在cmd下输入pip install PyQt5完成PyQt5安装,再安装qt designer,可以使用pip安装pip i
- 简介背景Pandas 是 Python 的一个工具库,用于数据分析。由 AQR Capital Management 于 2008 年 4
- Python最大的优点之一就是语法简洁,好的代码就像伪代码一样,干净、整洁、一目了然。要写出 Pythonic(优雅的、地道的、整洁的)代码
- PIL:使用python自带图像处理库读取出来的图片格式numpy:使用python-opencv库读取出来的图片格式tensor:pyto
- 如下所示: m_start =date +' 09:00' m_end =date +' 13:00'rsv