python复合赋值语句_python_复合赋值运算符

In [22]: a = [100]

In [23]: id(a)

Out[23]: 140100796244928

In [24]: def test1(a):

...: a = a + a #这里先计算的等号右边,a + a 即 [100] + [100] 结果为 [100,100], 然后等号左边a使用新的 引用指向 [100,100]

...: _id = id(a)

...: print(a,_id)

...: test1(a)

[100, 100] 140100794569472 #函数中的a的引用地址 已经不是外部a的引用地址了

In [25]: a #整个过程 a 未被改变 !

Out[25]: [100]

In [26]: id(a)

Out[26]: 140100796244928 #外部的 a 空间地址没有被改变

In [28]: def test2(a):

...: a += a # =a 将等号右边 指向 [100] 然后进行运算 即在a的引用指向的位置 进行修改

...: _id = id(a)

...: print(a,_id)

...: test2(a)

[100, 100] 140100796244928 #函数中a的地址就是 外部变量a的地址 ,即直接对外部a进行修改了

In [29]: a

Out[29]: [100, 100] #外部a 已经被修改! 因为函数内的a引用 和 外部a引用是同一个

In [30]: id(a)

Out[30]: 140100796244928

标签:...,python,140100796244928,运算符,引用,100,Out,id,赋值

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值