@
1.说明
任何可变数据类型都牵扯到深浅拷贝
但是元组,常数等,不可变数据类型,无论浅拷贝,深拷贝都是指向
不管如何嵌套,一旦牵扯到可变数据类型,都会有深浅区别
特别注意,元组切片为浅拷贝,反正可变数据类型没使用deepcopy一律浅拷贝
浅拷贝:
一个变量名等于另一个东西就一定是指向,浅拷贝是拷贝顶层的->copy.copy()
深拷贝:
是全部都拷贝copy.deepcopy
2.代码
# a = 1
# b = a
# print(id(a),id(b))
import copy
a = [11,22]
# c = copy.deepcopy(a)
# print(id(a),id(c))
def test(nums):
nums.append(3)
test(a)
print(a)
test(nums=copy.deepcopy(a))
print(a)
关于作者
个人博客网站
个人GitHub地址
个人公众号: