参考blog :http://winterttr.me/2015/10/24/python-passing-arguments-as-value-or-reference/
我们下面开始解释:
首先:Python 种的文件是怎么样赋值变量的???》?
a=1
b=[1,2]
我们这个是把 a 和 b 都看作是一个 变量, 但又不是一个真正 的 变量, 我们把 后面的 1 [1,2] 作为真正的变量 这样我们就可以将前面的 a b 作为一个pointer,再我的理解范围下,仅仅在ython 中,
这个时候,如果我们从新让 a =2 , 那么 实际上,只是改变了 a 的指向的东西, 如果,1 这个东西 不释放掉的化, 这个东西会一直存在这里。
那么 换种思考方式,
我们将变量 看作指向对象的 变量。 这样也就同样能理解 深拷贝 和浅拷贝的含义了
上面是对a 进行说明,那b呢??? 这个就稍有不同的,这个就相当于直接把“引用” 直接给b了 。。。
扫描二维码关注公众号,回复:
5238050 查看本文章
ok go on
可更改(mutable)与不可更改(immutable)对象
在python中,strings, tuples, 和numbers是不可更改的对象,而list,dict等则是可以修改的对象。
Python的函数参数传递:传值?引用?
如果传入Python的函数中的 变量是 mutable , 那么传入的就是 引用
如果传入Python 的函数中的 变量是immutable ,那么传入的值 就是传值的方法