将字典传递给构造函数?
我想把一个字典传给一个对象的构造函数,用作关键字参数(kwargs)。
很明显:
foo = SomeClass(mydict)
这样做只是传递了一个单独的参数,而不是字典里的内容。不过:
foo = SomeClass(kwargs=mydict)
看起来更合理的做法也不行。我到底漏掉了什么呢?
3 个回答
1
试试这个方法:SomeClass(**mydict)
3
要把一个字典传给构造函数,你需要通过引用来传递,也就是说要在字典前面加上**
,像这样:
foo = SomeClass(**mydict)
33
使用:
foo = SomeClass(**mydict)
这段代码会把字典里的值提取出来,然后传递给函数。
比如说:
mydict = {'a': 1, 'b': 2}
SomeClass(**mydict) # Equivalent to : SomeClass(a=1, b=2)