今天在使用字典作为函数参数传递时发现,在被调用函数中修改传递过去的字典,再返回使用的话,字典的值是已经被修改后的,而不是函数调用前的。看如下代码:
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正则表达式()使用详解
上一篇:快手代运营公司有哪些?
评论