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]
'''
一、由此而知,+= 是在不改变原有数据的id位置的状况下对值进行改变,而a = a + b 这种操做会生成一个全新的对象
二、列表与元组也能够经过+=的方式进行操做,说明这是经过迭代的方式对(9,10)的值进行迭代写入,因此忽略了类型
# 参考:https://blog.csdn.net/f1ngf1ngy1ng/article/details/80470865
'''
相关文章
相关标签/搜索