我有一些類用於從一個系統獲取數據,進行一些修改,然後將它們輸出到另一個系統中。在我完成所有必要的轉換後,通常會將其轉換爲dict
或list
。將字典表示爲字典或列表
到目前爲止,我所做的是,我做了兩個方法稱爲as_dict()
和as_list()
和使用,每當我需要的代表性。
但我很好奇,如果有辦法可以做到dict(instance_of_my_class)
或list(instance_of_my_class)
。
我一直在閱讀magic methods,好像這是不可能的?
class Cost(object):
@property
def a_metric(self):
return self.raw_data.get('a_metric', 0) * 0.8
[..]
# Repeat for various kinds of transformations
def as_dict(self):
return {
'a_metric': self.a_metric,
[...]
}
爲什麼你需要將類轉換成字典/列表?每個類都有一個內置的__dict__,這是內部存儲類屬性的地方,也許只是存儲它。 – theAlse 2013-04-25 06:15:46
內建'vars()',它與'obj .__ dict__'基本相同。 – gatto 2013-04-25 06:19:18
@theAlse主要用於將其轉換爲數據庫中的更新或簡單轉換爲json – gaqzi 2013-04-25 06:32:00