Python 3 - **kwargs 值无法修改?

Python 3 - **kwargs values can't be modified?

在Python中练习**kwargs概念,我写了以下函数:

def my_dictionary(**kwargs):
    for i in kwargs.values():
        i += 2
    return kwargs

print(my_dictionary(a=1,b=2))

我得到以下输出:

{'b': 2, 'a': 1}

为什么 kwargs 中的值没有按照指示更改 (i += 2)?

您只是在修改示例中的变量i。您需要这样影响 kwargs:

def my_dictionary(**kwargs):
    for k in kwargs.keys():
        kwargs[k] += 2
    return kwargs