首页 > 编程语言 > 详细

python中a+=a与a=a+a的区别

时间:2020-03-22 20:26:50      阅读:86      评论:0      收藏:0      [点我收藏+]

python中使用a = a + a创建了一个新的变量a,覆盖了之前的变量a。而使用a += a 则是直接对原变量 a 进行操作。下面通过几个例子进行说明:

1.
a = [1,2,3]
print(id(a))#打印内存地址
a+=a
print(a)
print(id(a))
输出结果:
1238454553032
[1, 2, 3, 1, 2, 3]
1238454553032

 

2.
a = [1,2,3]
print(id(a))
a = a + a
print(a)
print(id(a))
输出结果:
1238454620232
[1, 2, 3, 1, 2, 3]
1238454553032

  

以上两个只看结果没啥区别,但看内存地址还是可以看出区别来的,接下来继续看:

3.
a = [1,2,3]
print(id(a))
def add(arr):
    arr += arr
    print(id(a))

add(a)
print(a)
print(id(a))

输出结果:
1238454620232
1238454620232
[1, 2, 3, 1, 2, 3]
1238454620232

  

3.
a = [1,2,3]
print(id(a))
def add(arr):
    arr = arr + arr
    print(id(arr))

add(a)
print(a)
print(id(a))

输出结果:
1238454553032
1238454620232
[1, 2, 3]
1238454553032

  两者区别: =的使用会直接创建一个新的变量,而+=则是直接对原变量进行操作。

python中a+=a与a=a+a的区别

原文:https://www.cnblogs.com/wxcx/p/12547997.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!