【问题标题】:Passing dict to constructor?将dict传递给构造函数?
【发布时间】:2011-03-18 16:42:04
【问题描述】:

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

显然:

foo = SomeClass(mydict)

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

foo = SomeClass(kwargs=mydict)

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

【问题讨论】:

    标签: python dictionary constructor


    【解决方案1】:

    使用:

    foo = SomeClass(**mydict)
    

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

    例如:

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

    【讨论】:

    • 来自未来的问候!很抱歉花了四年时间才将其标记为已接受的答案:^)
    【解决方案2】:

    要将字典传递给构造函数,您必须通过引用来完成,即在其前面加上**,如下所示:

    foo = SomeClass(**mydict)
    

    【讨论】:

      【解决方案3】:

      试试这个: SomeClass(**mydict)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-07
        • 2011-09-24
        • 2012-01-15
        • 2012-08-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多