清溪社卫黄医生 发表于 2023-7-4 17:09:46

python函数外变量传到函数内处理后不改变函数外的变量,copy模块使用

线上代码
a =
def abc(a):
a.remove(1)

abc(a)
print(a)这段代码先指定了一个a变量是个list,又写了一个abc函数,功能是把外面传进来的list里面的1这个值去掉
按理说在函数内的执行只应该属于函数内的变化,但是实际打印结果是,函数把外面变量的1删掉了
这不是我想要的,我只想要变量在函数里处理成我想要的,函数外面的依然不变
现在把函数传进来的变量名换一下
a =
def abc(b):
b.remove(1)

abc(a)
print(a)心想这次应该没有问题了吧,结果和上面一样是
哪有什么办法可以得到我想要的结果呢,这就用到了copy模块,将代码改一下
import copy
a =
def abc(a):
b = copy.copy(a)
b.remove(1)

abc(a)
print(a)执行结果是,是我想要的结果

来源:https://www.cnblogs.com/xiu123/p/17526227.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: python函数外变量传到函数内处理后不改变函数外的变量,copy模块使用