我有一个返回类的值对象的方法,如下所示:
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。是否有其他方法完全可以让我失踪?谢谢你的帮助。
答案 0 :(得分:2)
我相信你指的是以下内容:
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__
来保存对象的属性。
请参阅:Data Model