我想像这样在 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})
请您参考如下方法:
当然可以:
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}
