import copy
a = (10, 20, [40, 50]) # 不可变对象(元组)
print("a:", id(a))
b = copy.copy(a) # 进行浅拷贝
print("b:", id(b)) # 拷贝后执行结果是:id(b) = id(a)
b[2][0] = 30
print("b:", id(b)) # 修改元组子可变对象后,执行结果id(b)不变
b[2].append(70)
print("b:", id(b)) # 修改元组子可变对象后,执行结果id(b)不变
老师,不可变对象的浅拷贝后对应的"id(b) 和 id(a)"值一定相同?
import copy
a = [10, 20, [40, 50]] # 可变对象(列表)
print("a:", id(a))
b = copy.copy(a) # 进行浅拷贝
print("b:", id(b)) # 拷贝后执行结果是:id(b) != id(a)
b[2][0] = 30
print("b:", id(b)) # 修改列表子可变对象后,执行结果id(b)不变
b[2].append(70)
print("b:", id(b)) # 修改列表子可变对象后,执行结果id(b)不变
而,可变对象的浅拷贝后对应的"id(b) 和 id(a)"值一定不同?是什么原因?