講一下我自己理解的“賦值“,“淺拷貝”,“深拷貝”

今天來講一下我自己理解的  “賦值“,“淺拷貝”,“深拷貝” 

     

1.賦值

"""= 賦值 賦值只是將a的引用賦值給了b"""
#a = [1,2,3,[4,5]]
# b = a
# b.append(6)
# print(a)
#執行結果: [1, 2, 3, [4, 5],6] a

如上面所有,a只是將b的引用給了b,而b在尾部添加了一個元素6則會影響到a。

這也是 網上“對象賦值實際上是對象的引用”的體現了

 

2.淺拷貝

"""copy,淺拷貝,只是複製了a裏面的數據,但是裏面的子對象沒有被複制!"""
# a = [1,2,3,[4,5]]
# b = a.copy()
# b[3].append(6)
# print(a)
# 執行結果:[1, 2, 3, [4, 5, 6]] a

3.深拷貝

"""深copy,不但複製了a裏面的數據,而且連a裏面的子對象也被複制了!"""
a = [1,2,3,[4,5]]
b = copy.deepcopy(a)
b[3].append(6)
print(a)
#執行結果: [1, 2, 3, [4, 5]] a

這個也是很多面試官會問的一個常見問題,所以今天有感而發整理出來.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章