首页 python正文

Python 字典作为函数参数传递,可全局修改字典

启明SEO python 2022-02-21 19:26:21 2378 0 Python 字典

今天在使用字典作为函数参数传递时发现,在被调用函数中修改传递过去的字典,再返回使用的话,字典的值是已经被修改后的,而不是函数调用前的。看如下代码:

def a():
    con={}
    con['a']='a'
    b(con)
    print(con)
def b(con):
    con['b']='b'

def main():
    a()
if __name__ == '__main__':
    main()

在a函数中定义字典con,并给出一个a键,值为‘a’,再将con作为参数传递到函数b中,并给一个键b,值为‘b’。输出结果如下:

{'a': 'a', 'b': 'b'}

这里我并没有将修改后的con返回回去,下面我再给大家看看,如果return 回去是怎样的。代码如下:

def a():
    con={}
    con['a']='a'
    con2=b(con)
    print(con2)
def b(con):
    con['b']='b'
    return con

def main():
    a()
if __name__ == '__main__':
    main()

打印后的结果同样为:

{'a': 'a', 'b': 'b'}


所以,如果将字典作为参数传递,记得调用函数如果做了修改,那么返回再使用字典的话就是修改后的值了。

评论

Python好学公众号

好文推荐

实时访客入口页面出现bd_vid=标识是什么原因

实时访客入口页面出现bd_vid=标识是什么原因

最近查看百度实时访客,总是会看到入口页面会多......

有了微信视频号,但是没有发布权限,怎么开通

有了微信视频号,但是没有发布权限,怎么开通

视频号是微信在2020年1月19号开始内测的......

如何用python抓取爱企查企业信息

如何用python抓取爱企查企业信息

前段时间,经理让我去找一些企业的信息,我平常......

服务器配置低,宝塔面板安装IIS总是安装不上怎么办

服务器配置低,宝塔面板安装IIS总是安装不上怎么办

对于一般企业网站或者博客来说,对服务器的配置......

如何修改浏览器指纹,Canvas指纹、Webgl指纹、Audio指纹修改方法?

如何修改浏览器指纹,Canvas指纹、Webgl指纹、Audio指纹修改方法?

修改浏览指纹的方法其实也是很简单,主要使用到......

win10下安装MYSQL后,提示Can't connect to MySQL server on localhost (10061)相关问题解决方法

win10下安装MYSQL后,提示Can't connect to MySQL server on localhost (10061)相关问题解决方法

我遇到的问题是电脑原先安装过mysql,卸......