python_数据操作a += b 与 a = a + b的区别

a = [1,2,3]
b = a
print(a,b)
print(id(a),id(b))
# [1, 2, 3] [1, 2, 3]
# 2346301641544 2346301641544
b += [4,5]
print(a,b)
print(id(a),id(b))
# [1, 2, 3, 4, 5] [1, 2, 3, 4, 5]
# 2346301641544 2346301641544
b = b + [6,7]
print(a,b)
print(id(a),id(b))
# [1, 2, 3, 4, 5] [1, 2, 3, 4, 5, 6, 7]
# 2346301641544 2346301641160

a += (9,10)
print(a)
# [1, 2, 3, 4, 5, 9, 10]
'''
1、由此而知,+= 是在不改变原有数据的id位置的情况下对值进行改变,而a = a + b 这种操作会生成一个全新的对象
2、列表与元组也可以通过+=的方式进行操作,说明这是通过迭代的方式对(9,10)的值进行迭代写入,所以忽略了类型
# 参考:https://blog.csdn.net/f1ngf1ngy1ng/article/details/80470865
'''
原文地址:https://www.cnblogs.com/hejianlong/p/9718637.html