将dict传递给构造函数?

时间:2011-03-18 16:42:05

标签: python dictionary constructor

我想将dict传递给对象的构造函数以用作kwargs。

显然:

foo = SomeClass(mydict)

只需传递一个参数,而不是dict的内容。唉:

foo = SomeClass(kwargs=mydict)

这似乎更明智也不起作用。我错过了什么?

3 个答案:

答案 0 :(得分:28)

使用:

foo = SomeClass(**mydict)

这将解压缩dict值并将它们传递给函数。

例如:

mydict = {'a': 1, 'b': 2}

SomeClass(**mydict) # Equivalent to : SomeClass(a=1, b=2)

答案 1 :(得分:2)

要将字典传递给构造函数,您必须通过引用来执行此操作,前面是**,如下所示:

foo = SomeClass(**mydict)

答案 2 :(得分:1)

试试这个: SomeClass(**mydict)