从字典-python中打印对象的属性

时间:2013-12-12 14:35:59

标签: 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())

1 个答案:

答案 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属性。