字典是可变对象作为参数传递时,函数内对字典进行修改,原来的字典也会进行改变。
extra = {'city': 'Beijing', 'job': 'Engineer'}
def person(kw):
kw['city']='qingdao'
person(extra)
print(extra)
结果:
{'city': 'qingdao', 'job': 'Engineer'}
但是字典作为可变参数时,函数内对字典修改,不会影响到原来的字典。
extra = {'city': 'Beijing', 'job': 'Engineer'}
def person(**kw):
kw['city']='qingdao'
person(**extra)
print(extra)
结果:
{'city': 'Beijing', 'job': 'Engineer'}