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 回答