我想在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})
答案 0 :(得分: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}