面向对象版学员管理系统
1.普通学员管理系统
2.需求:使用面向对象编程思想完成学员管理系统
main.py
from managerSystem import *
if __name__ == '__main__':
student_manager = StudentManager()
student_manager.run()
managerSystem.py
from student import *
class StudentManager(object):
def __init__(self):
#存储数据使用的列表
self.student_list = []
#程序入口函数,启动程序后执行的函数
def run(self):
#加载学员信息
self.load_student()
while True:
#显示功能菜单
self.show_menu()
menu_num = int(input("请输入您要选择的功能序号:"))
if menu_num == 1:
self.add_student()
elif menu_num == 2:
self.del_student()
elif menu_num == 3:
self.modify_student()
elif menu_num == 4:
self.search_student()
elif menu_num == 5:
self.show_student()
elif menu_num == 6:
self.save_student()
elif menu_num == 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):
search_name = input("请输入要查询的学员的姓名:")
for i in self.student_list:
if i.name == search_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):
try:
f = open("student.data",'r')
except:
f = open("student.data",'w')
else:
data = f.read()
new_list = eval(data)
self.student_list = [Student(i['name'],i['gender'],i['tel']) for i in new_list]
finally:
f.close()
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}"
运行实例
拓展__dict__
class A(object):
a = 0
def __init__(self):
self.b = 1
aa = A()
print(A.__dict__) #返回类内部所有属性和方法对应的字典
print(aa.__dict__)#返回实例属性和



