我有用于从一个系统获取数据、进行一些修改然后将它们输出到另一个系统的类。在我完成所有必要的转换之后,通常会将其转换为 adict
或 a 。list
到目前为止,我所做的是我已经调用了两个方法as_dict()
,as_list()
并在我需要该表示时使用它。
但我很好奇是否有办法可以做到dict(instance_of_my_class)
或list(instance_of_my_class)
。
我一直在阅读魔术方法,似乎这是不可能的?
还有一些简单的示例代码可以使用:
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,
[...]
}