python测验2_python练习项目二(员工管理)——测试及添加员工

本文介绍了一个使用Python实现的员工管理系统,包括Admin对象的管理功能和Manager对象的CRUD操作。通过实例化对象,进行身份验证、功能界面展示,并实现了数据的序列化与反序列化,以及功能模块如新增员工、查询等。
摘要由CSDN通过智能技术生成

测试模块:员工管理系统案例实战.py

步骤一:实例化Admin对象,实现开机、身份信息验证、功能界面的展示

步骤二:实例化Manager对象,实现功能(crud)的操作、最后按"t"操作实现序列化列表对象到文件中

from admin import Admin

from manager import Manager

import time,pickle

'''

测试模块:...

'''

def main():

#实例化管理员对象

admin = Admin()

# 管理员开机

admin.printAdminView()

#管理身份信息验证

res = admin.adminOption()

if res:

return

'''

反序列化数据到程序,还原成allEmps列表对象

'''

try:

with open('emps.txt','rb') as fr:

allEmps = pickle.load(fr)

m = Manager(allEmps)

except:

allEmps = []

m = Manager(allEmps)

#循环显示系统功能界面、执行操作

while 1:

admin.printSysFuncView()

num = input('请选择您需要的操作:')

# if num == '1':

# m.createEmp()

# elif num == '2':

# m.selectAllEmps()

# elif num == '3':

# m.selectEmpsByName()

# elif num == '4':

# m.selectEmpById()

# elif num == '5':

# m.delEmp()

# elif num == '6':

# m.updateSalaryByEmp()

# elif num == 't':

# return

dic = {'1':m.createEmp,'2':m.selectAllEmps,'3':m.selectEmpsByName,

'4':m.selectEmpById,'5':m.delEmp,'6':m.updateSalaryByEmp}

if num == 't':

#序列化对象到文件中(持久存储)

with open('emps.txt','wb') as fw:

pickle.dump(allEmps,fw)

break

try:

dic[num]()

except:

print('没有此操作...')

time.sleep(2)

main()

5ef14e6c71db4e1493515983e52504b8

a15b11a12fcd43c9a4c136aef4791eb9

1179a43dbd274b9d9d5e452fb5ea7b7a

管理者类:Manager

属性:列表对象(allEmps)

函数:

CRUD操作:

create:新增、创建

read: 查询

update: 修改

delete: 删除

1).添加员工:createEmp

2).查询所有员工:selectEmps

3).根据Name查询员工:selectEmpsByName

4).根据Id查询员工:selectEmpById

5).删除员工:delEmp

6).修改员工薪资:updateSalaryByEmp

from employee import Employee

'''

管理者类:Manager

属性:列表对象(allEmps)

函数:

CRUD操作:

create: 新增、创建

read: 查询

update: 修改

delete: 删除

1).添加员工:createEmp

2).查询所有员工:selectAllEmps

3).根据Name查询员工:selectEmpsByName

4).根据Id查询员工:selectEmpById

5).删除员工:delEmp

6).修改员工薪资:updateSalaryByEmp

'''

class Manager:

#属性:

def __init__(self,allEmps):

self.allEmps = allEmps

#函数:

#添加员工:

def createEmp(self):

#注意:员工编号不用从键盘得到的,模拟mysql数据库中的主键自增长

ename = input('请输入员工的姓名:')

age = int(input('请输入员工年龄:'))

sex = input('请输入员工性别:')

address = input('请输入员工籍贯:')

salary = float(input('请输入员工薪资:'))

deptName = input('请输入员工所在的部门:')

#判断allEmps列表中如果没有内容,id就为1

#如果中有内容,取出列表的最后一个employee对象的id,然后+1就可以了

if len(self.allEmps) == 0:

#给对象动态添加id属性

self.id = 1

else:

self.id = self.allEmps[-1].empId + 1

#封装employee对象

e = Employee(self.id,ename,age,sex,address,salary,deptName)

#将e对象存入到allEmps列表中

self.allEmps.append(e)

print('成功添加一名新员工...')

86f1ad712f44450c8e8d2f76a79ad6fd

44f123dc4899473992fd4f703bca6b6d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值