浅拷贝和深拷贝

使用内置函数copy()(浅拷贝)、deepcopy()(深拷贝)

浅拷贝:不拷贝子对象的内容,只拷贝子对象的引用
深拷贝:会连子对象的内存也拷贝,对子对象修改不会影响原对象

 1 import copy
 2 
 3 def testCopy():
 4     a = [10,20,[5,6]]
 5     b = copy.copy(a)
 6     print('a:',a)
 7     print('b:',b)
 8 
 9     b.append(30)
10     b[2].append(7)
11     print('浅拷贝:')
12     print('a',a)
13     print('b',b)
14 
15 testCopy()
16 
17 print('----------------------------------------------------')
18 
19 
20 def testDeepCopy():
21     a = [10, 20, [5, 6]]
22     b = copy.deepcopy(a)
23     print('a:', a)
24     print('b:', b)
25 
26     b.append(30)
27     b[2].append(7)
28     print('深拷贝:')
29     print('a', a)
30     print('b', b)
31 
32 testDeepCopy()