2013-12-12 44 views
-5

首先,我们可以将对象添加到Python字典中吗?其次,我们如何打印对象的属性。 有我的代码从字典打印对象的属性-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

你怎么可能有如此高的声誉,并不能解决像这样简单的事情? –

+1

@詹姆斯米尔一个*编辑*问题不是一个*问* – alko

+0

哦,我明白了吗?!我很困惑:) –

回答

2

你当时几乎没有;要遍历所有的字典

for a in dic.values(): 
    print("wage:", a.getwage()) 

另外,一本字典的项目中循环时,使用的事实,即每个项目是(key, value)一个元组:

for key, value in dic.items(): 
    print(key, "wage:", value.getwage()) 

所以,是的,你可以将实例存储在字典中(大多数python都使用这个事实)。

请注意,getters和setter在Python中并不是真的需要;您可以简化代码:

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) 

例如直接访问wage属性。

+0

我更新了上一个问题。再添加一个文件。现在我想从我之前创建的词典中打印出列表。 http://stackoverflow.com/questions/20551917/print-list-in-a-dictionary-python – user3095795