【发布时间】:2018-07-12 18:50:24
【问题描述】:
我试图在不使用 for 循环的情况下从员工对象字典中打印员工对象信息。这是我到目前为止所做的:
employee_dict = {}
class Employee:
def __init__(self, id, salary):
self.id = id
self.salary = salary
self.employee_dictionary(self)
def info(self):
return "Employee ID:{} \nSalary:{}".format(self.id, self.salary)
def employee_dictionary(self):
employee_dict = {self.id: self}
emp = Employee(1, 10)
emp1 = Employee(2, 5)
employee = employee_dict[1]
print(employee.info())
有人能指出我正确的方向吗?我觉得我很亲近。这段代码给我的错误是:
Traceback (most recent call last):
File "/home/rob/PycharmProjects/untitled4/sdfghsfdgjrtyrty.py", line 19, in <module>
employee = employee_dict[1]
KeyError: 1
【问题讨论】:
-
你在这个问题上的缩进是否正确?如,它代表你正在使用什么?
-
你几乎肯定想要的是
employee_dict[self.id] = self,而不是employee_dict = {self.id: self}。您想将此员工添加到字典中,而不是将字典替换为仅处理该员工的字典,对吗?如果是这样,这意味着您的 other 问题,即与本地与全局相关的问题,不会首先出现,因此您无需解决它。
标签: python python-3.x dictionary