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

时间:2017-04-19 14:21:14

标签: python python-3.x dictionary key-value-store kwargs

在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)改变?

1 个答案:

答案 0 :(得分:2)

您只是对示例中的变量i进行了修改。你需要影响kwargs:

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