函数的形参和实参(对应卡码网11题句子缩写)
- 除非实参是可变对象,如列表、字典和集合,则此时形参会复制实参的地址,即此时二者指向同一个地址,因此在函数内对形参的操作会影响到实参
- 除这种情况外,实参在传入函数时会复制一份值给形参,因此函数内的操作不会影响实参,只会改变形参
- 这就解释了为什么有时候如果不接收函数的返回值,如
function(variable)
,variable并不会改变了:因为此时若variable不是可变类型,则经过function操作后的实参variable并不会改变,因此这种情况下需要接收函数返回值才能得到自己想要的效果,如variable = function(variable)
;但是倘若variable是可变类型,那么即便不接收返回值,这个实参也会发生对应改变