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







评论