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
'''
相關文章
相關標籤/搜索