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)
答案 0 :(得分:0)
行T2 = T1
的作用是将名称T2
绑定到与T1
已经绑定的对象相同的对象。
(它不是创建对象的副本)
对于来自<LeftName> = <RightName>
的Python中的任何赋值语句,都是如此。
这意味着,使用名称T1
可以看到代码对名称T2
所做的任何修改,反之亦然。