1 深浅copy
dict, list, set
s = {name:alex,...}
s2 = s , 此时 s2和s 是共享 同一份数据的
s {'name': 'alex', 'age': 18, 'scores': {'语文': 130, '数学': 60, '英语': 98}} >>> s2 {'name': 'alex', 'age': 18, 'scores': {'语文': 130, '数学': 60, '英语': 98}} >>> s2["name"]="金角大王" >>> s2 {'name': '金角大王', 'age': 18, 'scores': {'语文': 130, '数学': 60, '英语': 98}} >>> s {'name': '金角大王', 'age': 18, 'scores': {'语文': 130, '数学': 60, '英语': 98}} >>> s3 = s. copy() >>> s3 {'name': '金角大王', 'age': 18, 'scores': {'语文': 130, '数学': 60, '英语': 98}} >>> s2 {'name': '金角大王', 'age': 18, 'scores': {'语文': 130, '数学': 60, '英语': 98}} >>> s {'name': '金角大王', 'age': 18, 'scores': {'语文': 130, '数学': 60, '英语': 98}} >>> s3["name"] = '黑姑娘'
深copy
>>> import copy >>> s {'name': '金角大王', 'age': 18, 'scores': {'语文': 130, '数学': 60, '英语': 98}} >>> s4 = copy.deepcopy(s) >>> s4 {'name': '金角大王', 'age': 18, 'scores': {'语文': 130, '数学': 60, '英语': 98}} >>> s["scores"]["语文"]= 20 >>> s4["scores"]["语文"]= 200 >>> s4 {'name': '金角大王', 'age': 18, 'scores': {'语文': 200, '数学': 60, '英语': 98}} >>> s {'name': '金角大王', 'age': 18, 'scores': {'语文': 20, '数学': 60, '英语': 98}}