将Python中的POPO/Value对象转换为字典以供使用



我有一个方法,它返回一个类的值对象,如下所示:

def get_val_obj():
    return SomeValueObject()

我有另一个方法,它接受一个字典和关键字参数:

def some_other_method(some_dict, some_other_argument, **kwargs):
    """Do some stuff"""
最后在调用方法中:
some_val_obj_1 = get_val_obj()
some_val_obj_2 = get_val_obj()
some_other_method(some_val_obj_1.__dict__, 'blah', **some_val_obj_2.__dict__)

我在某个地方看到,如果Value Object中有一个init方法来设置属性,你可以使用

.__dict__

转换popo。不管用,你觉得解决我问题的最好方法是什么?我可以直接在get_val_obj()中返回一个字典,但我想保留它,以便它返回一个POPO。有没有其他的方法我可能完全忽略了?谢谢你的帮助。

我相信你指的是:

class Foo(object):
    def __init__(self, **kwargs):
        self.__dict__.update(kwargs)

foo = Foo(a=1, b=2, c=3)
print foo.a
print foo.b
print foo.c

这基本上只是一个类,其构造函数通过它的__dict__属性更新它的内部属性。所有的吗?Python中的对象有一个__dict__,用来保存对象的属性。

参见:数据模型

相关内容

  • 没有找到相关文章

最新更新