首先我们可以在python字典中添加一个对象吗? 其次,我们如何打印对象的属性。 有我的代码
在我的c.py
中class C(object):
def __init__(self):
self.wage = 0.0
def setwage(self,wage):
self.wage=wage
def getwage(self):
return self.wage
在我的a.py
中import c
dustin = c.C()
dustin.setwage(6.9)
dic={}
# can I add dustin as an object into dic?
dic['1st employee']=dustin
for a in dic.items():
# I want to print dustin object's attribute wage
print("wage:", a.getwage())
答案 0 :(得分:2)
你几乎在那里;你想循环遍历字典 values :
for a in dic.values():
print("wage:", a.getwage())
或者,在循环字典的项目时,利用每个项目都是(key, value)
元组的事实:
for key, value in dic.items():
print(key, "wage:", value.getwage())
所以,是的,你可以将实例存储在字典中(大多数python都使用这个事实)。
请注意,Python中并不真正需要getter和setter;您可以简化代码:
class C(object):
def __init__(self):
self.wage = 0.0
然后使用:
dustin = c.C()
dustin.wage = 6.9
dic = {}
dic['1st employee'] = dustin
for key, value in dic.items():
print(key, "wage:", value.wage)
e.g。直接访问wage
属性。