Python 中的参数的传递:到底是传值 还是引用

本文探讨了Python中变量与对象的关系,解析了可更改与不可更改对象的区别,以及这些概念如何影响函数参数的传递方式。

参考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了 。。。

ok  go on

 

可更改(mutable)与不可更改(immutable)对象

 

在python中,strings, tuples, 和numbers是不可更改的对象,而list,dict等则是可以修改的对象。

 

 

Python的函数参数传递:传值?引用?

 

 

如果传入Python的函数中的 变量是 mutable , 那么传入的就是 引用  

如果传入Python 的函数中的  变量是immutable ,那么传入的值 就是传值的方法   

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

没有水杯和雨伞的工科男

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值