本文小编为大家详细介绍“python面向对象如何实现学员管理系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“python面向对象如何实现学员管理系统”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
前言
使用面向对象编程思想完成学员管理系统的开发,具体如下:
系统要求:使用面向对象的方法
系统功能:添加学员、删除学员、修改学员信息、查询学员信息、显示所有学员信息、保存学员信息及退出系统等功能。
分析
角色分析
- 学员
- 管理系统
工作中注意事项
-为了方便维护代码,一般一个角色一个程序文件
- 项目要有主程序入口,习惯称为main.py
创建程序文件
创建项目目录,例如:StudentmangerSystem
2.程序文件如下:
程序入口文件:main.py
学员文件:studnet.py
管理系统文件:mangerSystem.py
书写程序
student.py
需求:储存数据的形式:列表存储学员对象
管理系统框架
需求:系统功能循环使用,用户输入不同的功能序号执行不同的功能
步骤:
定义程序入口函数
显示功能菜单
用户输入功能序号
根据用户驶入的功能序号执行不同的功能
定义系统功能函数,添加、删除学员等
student.py
需求是让我们把学员的数据放在列表里面,而且要用到面向对象。由此我们将学员看成是一个类,一个个学员就是实例对象。注意:这个时候列表里放的将是对象,而非其他数据类型。切记切记!
class Student(object): # 初始化学生类,传入学员的三个参数 def __init__(self,sname,sgender,stel): self.name = sname self.gender = sgender self.tel = stel # 便于格式化返回字符串,浙江影响到对象的打印 def __str__(self): return f'{self.name}的性别是{self.gender},电话号码是{self.tel}'
managerSystem
同样也是要用到面向对象,由此,将需求中的各种功能看成是一个个实例方法。
功能面板也看成是一个实例方法
要求使用循环,则需要一个运行程序,将功能面板,实例方法调用。同时使用if判断语句判断将用户输入的功能序号和功能的运行相对应。
from Student import *class managerSystem(object): # 初始化 def __init__(self): self.student_list = [] # 定义功能面板 def show_menu(self): print("请选择如下功能:") print("1.添加学员") print("2.删除学员") print("3.修改学员信息") print("4.查询学员信息") print("5.显示所有学员信息") print("6.保存学员信息") print("7.退出系统") # 定义功能函数:添加学员 def student_add(self): name = input('请输入姓名:') for i in self.student_list: if i.name != name: gender = input('请输入性别:') tel = input('请输入电话号:') break else: print('库中已有此人!') student = Student(name,gender,tel) self.student_list.append(student) # 注意:这里加入到列表中的是一个实例对象,打印只会得到一个内存地址 # 定义功能函数:删除学员 def student_del(self): name = input('请输入删除学员的姓名:') for i in self.student_list: if i.name == name: del i else: print('查无此人!') # 定义功能函数:修改信息 def student_change(self): name = input('请输入姓名:') for i in self.student_list: if i.name == name: i.gender = input('请输入性别:') i.tel = input('请输入电话号:') break else: print('查无此人!') # 定义功能函数:查询功能信息 def student_search(self): name = input('请输入姓名:') for i in student_list: if i.name == name: print(f'{i.name}的性别{i.gender}电话号是{i.tel}') break else: print('查无此人!') # 定义功能函数:显示所有信息 def student_show_all(self): for i in student_list: print(f'{i.name}的性别是{i.gender}电话号是{i.tel}') # 定义功能函数:保存学员信息 def student_save(self): print('保存信息成功!') # 定义功能函数:退出系统 def student_exit(self): print('退出成功!') “”“ 定义主运行程序 ”“” def run(self): # 定义一个变量,用以跳出循环 i = 0 while i == 0: srlf.show_menu() func_sum = input('请输入功能序号:') if func_sum == '1': self.student_add() # 添加学员 elif func_sum == '2': self.student_del() # 删除学员 elif func_sun == '3': self.student_change() # 修改学员信息 elif func_sum == '4': self.student_search() # 查询学员信息 elif func_sum == '5': self.student_show_all() # 显示所有信息 elif func_sum == '6': self.studnet_save() # 保存信息 else: i += 1 # 当i不等于0时,跳出循环 self.student_exit() # 退出程序
main.py
管理学员系统的执行文件
from managerSystem import *if __name__ == '__main__': Mangersystem = managerSystem() Mangersystem.run()
最后,这三个文件要在同一个目录下,最好先在pycharm中创建一个项目后,再创建者三个文件。
读到这里,这篇“python面向对象如何实现学员管理系统”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。