1

次のようにPythonでkwargsを使用したい:

def myfunc(**kwargs):
  ... do something ...


x = myfunc(a=1, b=2, #value=4)

しかし#value、有効な Python キーワードではないため、できません。

または、これを行うことができます:

x = myfunc(**{'a':1, 'b':2, '#value': 4})

これはちょっと厄介です。

ここである種のハイブリッドアプローチを使用する方法はありますか?

# this doesn't work
x = myfunc(a=1,b=2, {'#value': 4})
4

1 に答える 1

6

できますよ:

x = myfunc(a=1, b=2, **{'#value': 4})

明示的なキーワード パラメータを使用しても、辞書を渡すことはできます

デモ:

>>> def myfunc(**kwargs):
...     print kwargs
... 
>>> myfunc(a=1, b=2, **{'#value': 4})
{'a': 1, 'b': 2, '#value': 4}
于 2013-05-22T17:47:09.920 に答える