Python教程

python中的浅拷贝,深拷贝

本文主要是介绍python中的浅拷贝,深拷贝,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

直接引用,间接引用

# 1.列表存储的是索引对应值的内存地址,值会单独的开辟一个内存空间
list = ["a","b"]
内存里面存储的就是list[0],list[1],也就是分别存储的是0,1索引 以及"a","b"的内存地址,这个值"a"会单独的开辟一个内存空间
# 2.字典存储的是key对应值的内存地址
# 总结:容器都是间接引用的

可变和不可变类型

# 可变类型:值改变的情况下,id(内存地址)不变;说明改的是原值
# 这里说的值,是堆区里面内存地址对应的值
# 不可变类型:值改变的情况下,id也变了

浅拷贝,深拷贝

# 浅拷贝,对于容器内可变类型的值改变后,原来容器内的值也会跟着改变
# 深拷贝,改了copy之后的容器,原容器不会发生变化
# 若容器内存储的都是不可变类型,用浅拷贝可以;如果容器内存储的是可变类型的那就要使用深拷贝
# 浅拷贝,容器.copy()
# 深拷贝,import copy     copy.deepcopy()

进制

这篇关于python中的浅拷贝,深拷贝的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!