标签:end 可变 false 复制 div 之间 并且 类型 深拷贝
判断内容时候用=号, 判断引用 时候用 is,特例如下:在某个复制到一个正值之间(-5-255)多之间,并没有创建另外一个对象
a =100 a = 10000
b =100 b = 10000
a ==b a ==b
true true
a is b a is b
true false
---------------------------------------------------------
浅拷贝:拷贝的仅仅是引用而已,并没有另辟一片内存。 面试
a =[22,33,44]
b = a id(a)和id(b)一样
若 a.append(99)
b = [22,33,44,99]
深拷贝:另辟一片内存,b指向它,并且有a的内容。 面试
a =[22,33,44]
import copy 导入一个模块
b = copy.deepcopy(a)
id(a)和id(b)不一样
若 a.append(99)
b = [22,33,44]
------------------------------------------------------------------------------------
a = [22,33,44]
b = [55,66]
c = [a,b] [a,b]表示里面是a 的引用,和b 的引用,即地址,引用指向数据。是浅拷贝
e = copy.deepcopy(c) 深拷贝,表示另辟一片空间e,里面是a,b的引用,并且a,b 指向的数据是重新开辟的空间,
并不是原先a d的地址。
----------------------------------------------------------------------------------------------------------
在交互模式python环境中,打copy. 按tab 键,会出现很多功能,其中有个copy.copy ,和deepcopyde 区别是,只识别一层。
e = copy.copy(c) c 中的a, b 还是原来的地址,并不重新创建。。
----------------------------------------------------------------------------------------------------------
a =[1,2,3]
b = [4,5,6]
c = (a,b) 元祖
e = copy.copy(c) copy拷贝的是不可变类型,直接就是浅拷贝。
浅拷贝和深拷贝
标签:end 可变 false 复制 div 之间 并且 类型 深拷贝
原文地址:http://www.cnblogs.com/lvhonglei-python/p/7058485.html