首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python字典参数传递方法

Python字典参数传递方法
EN

Stack Overflow用户
提问于 2018-06-14 05:24:28
回答 1查看 45关注 0票数 0

我尝试将字典作为参数传递,并看到两种方法,如下所示,是什么使它在传递**时保持字典值不变

代码语言:javascript
复制
def dict_test1(**d):
    d['a'] = '10'

def dict_test2(d):
    d['a'] = '10'


d = {'a': '1'}

dict_test1(**d) 
print d

dict_test2(d) 
print d

输出:

代码语言:javascript
复制
{'a': '1'}

{'a': '10'}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-14 05:29:46

简单地说,(**d)创建了一个新的dict,而(d)保留了对旧的引用:

代码语言:javascript
复制
def dict_test1(**d):
    print d is d_global # False

def dict_test2(d):
    print d is d_global # True


d_global = {'a': '1'}

dict_test1(**d_global ) 
dict_test2(d_global) 
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50846487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档