深浅拷贝

is 是⽐较两个引⽤是否指向了同⼀个对象(引⽤⽐较)

== 是⽐较两个对象内容是否相等

1
2
3
4
5
6
7
8
9
10
a = [1,2,3]
b = [1,2,3]
a == b # True
a is b # Flase
c = copy.deepcopy(a)# 深拷贝
a == c # True
a is c # Flase
id(a) # 指向a的内存地址
d = a # id(d)和id(a)值相等 浅拷贝
a is d # True

拷贝:一个变量引用另外一个变量

深拷⻉是对于⼀个对象所有层次的拷⻉(递归)
深拷贝

浅拷⻉是对于⼀个对象的顶层拷⻉,只是拷⻉了引⽤,并没有拷⻉内容(没重新生成新的内存地址)
浅拷贝列表
浅拷⻉对不可变类型和可变类型的copy不同
浅拷贝元组

Share Comments