中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

我要學python之深淺拷貝原理

發布時間:2020-07-20 10:14:22 來源:網絡 閱讀:453 作者:刺激樂天派 欄目:編程語言

前言

在c++中參數傳遞有兩種形式:值傳遞和引用傳遞。這兩種方式的區別我不在此說,自行補上,如果你不知道的話。我先上python代碼,看完我們總結一下,代碼如下:

# copy module import
import copy

# number and string
a = 12
a1 = a
a2 = copy.copy(a)
a3 = copy.deepcopy(a)
# look addr
print("==========number=======")
print(id(a))
print(id(a1))
print(id(a2))
print(id(a3))

s = '12345'
s1 = s
s2 = copy.copy(s)
s3 = copy.deepcopy(s)
# look addr
print("==========String=======")
print(id(s))
print(id(s1))
print(id(s2))
print(id(s3))

# others
target = {
    'name': 'ckmike',
    'age': 25,
    'boxes':[
        'LV',
        'Prada',
        'KUQI'
    ]
}
target1 = target
target2 = copy.copy(target)
target3 = copy.deepcopy(target)
print("==========dict-1=======")
print(id(target))
print(id(target1))
print(id(target2))
print(id(target3))
print("==========dict-2=======")
print(id(target['boxes']))
print(id(target1['boxes']))
print(id(target2['boxes']))
print(id(target3['boxes']))

輸出結果:
==========number=======
10943360
10943360
10943360
10943360
==========String=======
140567123944648
140567123944648
140567123944648
140567123944648
==========dict-1=======
140567124625088
140567124625088
140567124625160
140567123938760
==========dict-2=======
140567099339272
140567099339272
140567099339272
140567099339464

總結:
對于數值、字符串而言,不管是賦值符號還是淺拷貝、深拷貝,都是引用的內存中的同一份值,變量指向同一地址。
對于非數值非字符串而言,淺拷貝只會拷貝對象的第一層,深拷貝則會把所有層都進行拷貝。

具體深淺拷貝,可以查看模塊copy中的copy和deepcopy源碼
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

岗巴县| 永城市| 斗六市| 疏附县| 安徽省| 广饶县| 会昌县| 鄂尔多斯市| 林芝县| 怀宁县| 普格县| 同德县| 吉林省| 波密县| 阜新| 晋城| 承德市| 抚顺市| 蒙城县| 肇州县| 武夷山市| 云霄县| 长葛市| 恩施市| 云安县| 潢川县| 锡林郭勒盟| 曲周县| 岳池县| 民县| 扎鲁特旗| 合水县| 连江县| 石河子市| 铜川市| 长葛市| 平凉市| 中牟县| 荥经县| 泽库县| 东丽区|