Python-为什么在T1之后附加新值,所以T2等于T1

时间:2019-03-10 04:01:44

标签: python append

T1 = (1,[5],3)
T2 = T1
print("T2 :",T2)
T1[1].append(6)
print("T1 :",T1)
print("T2 :",T2)

result:
T2 : (1, [5], 3)
T1 : (1, [5, 6], 3)
T2 : (1, [5, 6], 3)

T1附加新值时,为什么T2等于T1? 我认为T1 = (1,[5,6],3)T2 = (1, [5], 3),但最后是T2 is (1,[5,6],3)

1 个答案:

答案 0 :(得分:0)

T2 = T1的作用是将名称T2绑定到与T1已经绑定的对象相同的对象。

(它不是创建对象的副本)

对于来自<LeftName> = <RightName>的Python中的任何赋值语句,都是如此。

这意味着,使用名称T1可以看到代码对名称T2所做的任何修改,反之亦然。