list作为实参传给函数
Posted picassooo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了list作为实参传给函数相关的知识,希望对你有一定的参考价值。
list作为实参传给函数,如果在函数中形参list被改变,则实参list也会被改变。原因如下[1]:
在python中,数据有两种类型:mutable(可变) 和 immutable (不可变)
list ,dict是mutable的;
int , string , float ,tuple是inmutable 的。
在函数参数的传递过程中:
对于inmutable object ,函数参数传递是值
对于mutable object,函数参数传递是指针(即地址)
所以,当我们把list传给函数时,实际是把list的指针传递给了函数的变量,所以,list的值会随着函数进行变化。
因此,在把list传入函数前,应先用deepcopy做好备份。
【参考资料】
python中list作函数形参,如何防止被实参修改
以上是关于list作为实参传给函数的主要内容,如果未能解决你的问题,请参考以下文章