How to send a dictionary to a function that accepts **kwargs?
我有一个接受通配符关键字参数的函数:
1 2 3 | def func(**kargs): doA doB |
我怎么给它发字典?
只需使用
这在Python教程的第4.7.4节中有记录。
注意,同一个
你的问题并不完全清楚,但是如果你想通过
1 2 3 | my_dict = {} #the dict you want to pass to func kwargs = {'my_dict': my_dict } #the keyword argument container func(**kwargs) #calling the function |
然后您可以在函数中捕获
1 2 | def func(**kwargs): my_dict = kwargs.get('my_dict') |
或者…
1 2 3 | def func(my_dict, **kwargs): #reference my_dict directly from here my_dict['new_key'] = 1234 |
当我将相同的选项集传递给不同的函数时,我经常使用后者,但有些函数只使用某些选项(我希望这是有意义的…)。当然,有很多方法可以解决这个问题。如果你详细阐述一下你的问题,我们很可能会帮助你更好。
这意味着函数内部的kwargs=mydict
mydict的所有键都必须是字符串
对于python 3.6,只需将**放在字典名称之前
1 2 3 4 5 6 7 8 9 10 11 | def lol(**kwargs): for i in kwargs: print(i) my_dict = { "s": 1, "a": 2, "l": 3 } lol(**my_dict) |