关于python深拷贝和浅拷贝的问题

 1 import copy
 2 #names = "jessie jack serena sally eden"
 3 names = ["jeessie","jacker","serrena",["jeesie","saily"],"edeen"]
 4 name2 = copy.copy(names)
 5 print(names)
 6 print(name2)
 7 names[2] = "小敏"
 8 names[3][0] = "JEESSIE"
 9 print(names)
10 print(name2)

['jeessie', 'jacker', 'serrena', ['jeesie', 'saily'], 'edeen']
['jeessie', 'jacker', 'serrena', ['jeesie', 'saily'], 'edeen']
['jeessie', 'jacker', '小敏', ['JEESSIE', 'saily'], 'edeen']
['jeessie', 'jacker', 'serrena', ['JEESSIE', 'saily'], 'edeen']

比如说房间里有小明和小丽,小美知道这个信息后呢,就去这个房间(指针)了,这样,这个房间是不是有三个人了?

浅拷贝:就是把这个指针赋值一个变量,如果你对这个变量做操作,这条记录也会随之变化。

 

#edit for Kris_ma
import copy
#names = "jessie jack serena sally eden"
names = ["jeessie","jacker","serrena",["jeesie","saily"],"edeen"]
name2 = copy.deepcopy(names)
print(names)
print(name2)
names[2] = "小敏"
names[3][0] = "JEESSIE"
print(names)
print(name2)

['jeessie', 'jacker', 'serrena', ['jeesie', 'saily'], 'edeen']
['jeessie', 'jacker', 'serrena', ['jeesie', 'saily'], 'edeen']
['jeessie', 'jacker', '小敏', ['JEESSIE', 'saily'], 'edeen']
['jeessie', 'jacker', 'serrena', ['jeesie', 'saily'], 'edeen']

 

深拷贝就像 泰国效仿美国的制度,把美国那套政权完全照搬过来,在自己国内实行,直到某一天,泰国发现一些列的问题,就发生了动乱。这样美国会因为这套制度发生动乱吗?所以深拷贝就是把这条记录完全复制给一个全新的变量,这样无论怎么操作这个新的变量,对其之前的不会有任何影响。

 

posted @ 2018-09-29 10:45  巫小诗  阅读(131)  评论(0编辑  收藏  举报