python中的del用法比較特殊,新手學習往往產生誤解,弄清del的用法,可以幫助深入理解python的記憶體方面的問題。
python的del不同於c的free和c++的delete。
由於python都是引用,而python有gc機制,所以,del語句作用在變數上,而不是資料物件上。
if__name__==
'__main__'
: a=1
# 物件 1 被 變數a引用,物件1的引用計數器為1
b=a # 物件1 被變數b引用,物件1的引用計數器加1
c=a #1物件1 被變數c引用,物件1的引用計數器加1
dela
#刪除變數a,解除a對1的引用
delb
#刪除變數b,解除b對1的引用
(c)
#最終變數c仍然引用1
del刪除的是變數,而不是資料。
if__name__==
'__main__'
: li=[1,2
,3,4
,5] #列表本身不包含資料1,2,3,4,5,而是包含變數:li[0] li[1] li[2] li[3] li[4]
first=li[0
]
#拷貝列表,也不會有資料物件的複製,而是建立新的變數引用
delli[
0]
(li)
#輸出[2, 3, 4, 5]
(first)
#輸出 1
python 中del 的用法
python中的del用法比較特殊,新手學習往往產生誤解,弄清del的用法,可以幫助深入理解python的記憶體方面的問題。python的del不同於c的free和c 的delete。由於python都是引用,而python有gc機制,所以,del語句作用在變數上,而不是資料物件上。if name ...
python中del的深度理解
python中的del用法比較特殊,新手學習往往產生誤解,弄清del的用法,可以幫助深入理解python的記憶體方面的問題。python的del不同於c的free和c 的delete。由於python都是引用,而python有gc機制,所以,del語句作用在變數上,而不是資料物件上。if name ...
python 中的 del 使用方法
python中的del用法比較特殊,新手學習往往產生誤解,弄清del的用法,可以幫助深入理解python的記憶體方面的問題。python的del不同於c的free和c 的delete。由於python都是引用,而python有gc機制,所以,del語句作用在變數上,而不是資料物件上。if name ...