问题描述
我有dict
想要转换为几个不同的对象。例如:
当前拥有
kwargs = {'this': 7,'that': 'butterfly'}
我想转换它,也许使用类似于函数参数解压缩的方式,但实际上没有调用函数,所以我最终得到的像是这样:
所需
**kwargs
print(this) # Will print out `7`
print(that) # Will print out `'butterfly'`
我知道我不能像显示的那样裸露双星[**
]。但是我可以做些类似的事情吗?
编辑:更多细节
由于人们在询问细节并警告我要做的事很危险,所以我会为我的需要提供更多背景信息。
我要使用关键字参数设置的类中有一个属性。类似于shown here,但将kwargs
而不是args
拆包。
作为一个有效的玩具示例,它看起来像这样:
class A(object):
def __init__(self):
self._idx = None
@property
def idx(self):
return self._idx
@idx.setter
def idx(self,kwargs):
print(kwargs)
self._idx = {}
for kw,val in kwargs.items():
self._idx[kw] = val
这有效。但是现在我正在对该功能进行单元测试,并且在单元测试中,我希望能够提供特定的键值对作为普通对象,以便我可以有效地使用hypothesis
和pytest
的@mark.parametrize
。
为此,看来我将需要如上所述的“裸包”。
由于这些实际上都是方法中的局部变量,因此我觉得@ g.d.d.c所关心的问题可能并不重要。听起来好像他担心我是否要创建新的全局变量而不知道它们是什么。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)