Python中存储变量的方式采用的是引用语义,即存储的是变量的地址而不是变量的值。
一、等号赋值
等号赋值相当于引用,即变量别名。重新初始化时才会改变引用;
二、浅拷贝
重新开辟空间来存储元素的地址,浅拷贝完的两个对象的地址已经是不同的了。在拷贝对象是容器类的时候,对容器内元素会一视同仁,都直接存储它们的地址。
三、深拷贝
依然是新开辟空间来存储元素,但是对于容器里的元素有不同处理:对于元素是容器类的,会重新初始化一个空容器,然后拷贝元素进去。
上述内容如有错误,欢迎指正。
Python中存储变量的方式采用的是引用语义,即存储的是变量的地址而不是变量的值。
一、等号赋值
等号赋值相当于引用,即变量别名。重新初始化时才会改变引用;
二、浅拷贝
重新开辟空间来存储元素的地址,浅拷贝完的两个对象的地址已经是不同的了。在拷贝对象是容器类的时候,对容器内元素会一视同仁,都直接存储它们的地址。
三、深拷贝
依然是新开辟空间来存储元素,但是对于容器里的元素有不同处理:对于元素是容器类的,会重新初始化一个空容器,然后拷贝元素进去。
上述内容如有错误,欢迎指正。