浅拷贝是对一个对象的顶层拷贝 深拷贝是对于一个对象的所有层次的拷贝
copy.copy会对可变类型进行拷贝
copy.copy对于不可变类型,不会拷贝,仅仅是指向
import copy
list1 = [1, 2, [“a”, “b”], (“c”, “d”)]
list2 = list1
list3 = copy.copy(list1)
list4 = copy.deepcopy(list1)
list1.append(3)
tuple1 = (10, 10)
print(list1[2])
list1[2].append({100})
print(list3)
list1[3] = list1[3] + tuple1
print(list1)
dict1 = {}
dict1[‘1’] = 1111
list1[2].append(dict1)
print(list1)
print(list2)
print(list3)
print(list4)
print(list1[2])
[‘a’, ‘b’]
[1, 2, [‘a’, ‘b’, {100}], (‘c’, ‘d’)]
[1, 2, [‘a’, ‘b’, {100}], (‘c’, ‘d’, 10, 10), 3]
[1, 2, [‘a’, ‘b’, {100}, {‘1’: 1111}], (‘c’, ‘d’, 10, 10), 3]
[1, 2, [‘a’, ‘b’, {100}, {‘1’: 1111}], (‘c’, ‘d’, 10, 10), 3]
[1, 2, [‘a’, ‘b’, {100}, {‘1’: 1111}], (‘c’, ‘d’)]
[1, 2, [‘a’, ‘b’], (‘c’, ‘d’)]
[‘a’, ‘b’, {100}, {‘1’: 1111}]