Python面向对象实现学员管理系统完整教程

何川
何川
发布时间:2026-10-15 | 4人浏览过
原创

本文详细介绍如何使用Python面向对象编程思想开发学员管理系统。通过定义Student类和ManagerSystem类,实现添加、删除、修改、查询、显示及保存学员信息等功能。文章涵盖项目结构搭建、文件分工及主程序入口设计,帮助开发者掌握面向对象在小型管理系统中的应用。

前言

本教程旨在展示如何利用面向对象编程(OOP)的核心思想来构建一个功能完整的学员管理系统。

  • 系统需严格遵循面向对象的设计原则进行开发。
  • 系统需具备以下核心功能:添加新学员、删除现有学员、修改学员资料、查询特定学员信息、展示所有学员列表、持久化保存学员数据以及安全退出系统。

开发分析

  • 角色分析

- 学员实体 - 管理系统核心

  • 工程实践注意事项

- 为提升代码可维护性,建议每个主要角色或模块独立存放于单独的程序文件中。 - 项目必须包含一个明确的主程序入口文件,通常命名为main.py。

创建程序文件

1. 建立项目根目录,例如命名为StudentManagerSystem。 2. 在该项目目录下创建以下程序文件:

  • 主程序入口文件:main.py
  • 学员数据模型文件:student.py
  • 管理系统逻辑文件:managerSystem.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.py

同样应用面向对象思想,将系统各项功能封装为类的实例方法。功能菜单的展示也设计为一个实例方法。为了实现程序的持续运行,需要编写一个运行逻辑,循环调用功能菜单及各业务方法。同时,使用if-elif语句判断用户输入的功能序号,并匹配执行对应的功能方法。

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等IDE中先创建项目,再依次创建这三个文件以保证路径正确。

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

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表