【发布时间】:2016-09-21 01:33:38
【问题描述】:
本练习假设您已经为编程练习 4 创建了 Employee 类。 创建一个将 Employee 对象存储在字典中的程序。使用员工身份证号码 作为关键。程序应提供一个菜单,让用户执行以下操作: • 在字典中查找员工 • 将新员工添加到字典中 • 更改字典中现有员工的姓名、部门和职位 • 从字典中删除员工 • 退出程序 当程序结束时,它应该腌制字典并将其保存到文件中。每次 程序启动时,它应该尝试从文件中加载腌制字典。如果文件没有 存在,程序应该以一个空字典开始。
好的,这是我的解决方案:-
class Employee:
'ID, number, department, job title'
def __init__(self,ID,number,department,job_title):
self.ID = ID
self.number = number
self.department = department
self.job_title = job_title
# Mutators
def set_ID(self,ID):
self.ID = ID
def set_number(self,number):
self.number = number
def set_department(self,department):
self.department = department
def job_title(self,job_title):
self.job_title = job_title
#Accessor Methods
def get_ID(self):
return self.ID
def get_number(self):
return self.number
def get_department(self):
return self.department
def get_job_title(self):
return self.job_title
def get_data(self):
print self.ID, self.number,self.department,self.job_title
我将以上内容作为 Employee.py 保存在一个文件夹中。然后我创建了一个新文件并将其保存为 Employee Management System.py 这是该文件中的代码
import Employee
import pickle
filename = 'contacts.dat'
input_file = open(filename,'rb')
unpickle_input_file = pickle.load(input_file)
def test_system():
user = input('Press 1 to look up employee,\nPress 2 to add employee'
'\n3Press 3 to change an existing employee name, department and job title'
'\n4 Delete an employee from the dictionary'
'\n5 Quit the program'
'\nMake your choice ')
if user == 2:
ID = raw_input('Enter the name ')
number = input('Enter the number')
deparment = raw_input('Enter the department ')
job_title = raw_input('Enter the job title ')
entry = module from Employee??.class name(id,number,department,job_title)??
empty_dictionary = {}
empty_dictionary[number] = entry
input_file.close()
我的第一个问题是我试图在 Employee.py 中使用创建的属性。特别是 init 并向其中添加条目。我知道上面的代码不在最合乎逻辑的论坛中,但我想先看看我是否可以添加数据然后先腌制文件。如果我可以根据如何做这两件事,其他一切都将很容易弄清楚。
这让我想起了
import math
x = math.pi(3.14)
x = module.function(3.14)
但我似乎无法在这两个示例之间建立联系。 谢谢
【问题讨论】:
标签: python class object pickle