is 是比較兩個引用是否指向了同一個對象(引用比較)。
== 是比較兩個對象指向的空間里的內(nèi)容是否相等。
a = [1,2,3]
b = [1,2,3]
print(a is b)
print(a == b)
結(jié)果如下:

is==結(jié)果.jpg
淺拷貝是對于一個對象的頂層拷貝
通俗的理解是:拷貝了引用,并沒有拷貝內(nèi)容
a = [1,2,3]
print(id(a))
b = a
print(id(b))
a.append(4)
print(a)
print(b)
結(jié)果如下:

淺拷貝結(jié)果.jpg
深拷貝是對于一個對象所有層次的拷貝(遞歸)
import copy
a = [1,2,3]
print(id(a))
b = copy.deepcopy(a)
print(id(b))
print(b)
a.append(666)
print(a)
print(b)
結(jié)果如下:

深拷貝結(jié)果.jpg
import copy
l1 = [1,2,3,4]
print(id(l1))
l2 = copy.copy(l1)
print(id(l2))
l1.append(666)
print(l2)
a = (11,22,33)
print(id(a))
b = copy.copy(a)
print(id(b))
結(jié)果如下:

copy.copy結(jié)果.jpg
從上個例子可以看出copy模塊中的copy對于不同的類型,拷貝出的類型也有不同。