Python里的拷贝
20 import copy 21 a = [1, 2, 3, 4, ['a', 'b']] #原始对象 22 23 b = a #赋值,传对象的引用 24 c = copy.copy(a) #对象拷贝,浅拷贝 25 d = copy.deepcopy(a) #对象拷贝,深拷贝 26 27 a.append(5) #修改对象a 28 a[4].append('c') #修改对象a中的['a', 'b']数组对象 29 30 print 'a = ', a 31 print 'b = ', b 32 print 'c = ', c 33 print 'd = ', d 34 35 输出结果: 36 a = [1, 2, 3, 4, ['a', 'b', 'c'], 5] 37 b = [1, 2, 3, 4, ['a', 'b', 'c'], 5] 38 c = [1, 2, 3, 4, ['a', 'b', 'c']] 39 d = [1, 2, 3, 4, ['a', 'b']]
>>> a = [1, 2] >>> b = a >>> id(a) 139935018544808 >>> id(b) 139935018544808 >>> a.append(3) >>> a [1, 2, 3] >>> id(a) 139935018544808 >>> id(b) # 注意a与b始终指向同一个地址 139935018544808
>>> a = 1 >>> b = a >>> id(a) 13033816 >>> id(b) # 注意两个变量的id值相同 13033816 >>> a = 2 >>> id(a) # 注意a的id值已经变了 13033792 >>> id(b) # b的id值依旧 13033816
参考网址:
https://www.cnblogs.com/blaomao/p/7239203.html