深入理解python中函数传递参数是值传递还是引用传递

在python中,不可变对象是共享的,创建可变对象永远是分配新地址

例如x=1,1就是一个不可变变量,内存里只有一个1。当我把值1传递给函数里的某一个变量的时候,我实际上也传递了地址,因为内存里只有一个1。

x=[1,2]

x[0]=3

这样修改对象,对象的内存地址是不变的。所以可以放心地将标记矩阵当成全局变量进行传递,随意修改,而不需要担心额外的空间消耗。

但如果像 x=x+[3] 的赋值语句,内存x的内存地址将发生变化 ,即创建可变对象永远是分配新地址。


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值