python 中del 的用法


由於python都是引用,而python有GC機制,所以,del語句作用在變量上,而不是數據對象上。

1 if __name__=='__main__':
2 a=1 # 對象 1 被 變量a引用,對象1的引用計數器為1
3 b=a # 對象1 被變量b引用,對象1的引用計數器加1
4 c=a #1對象1 被變量c引用,對象1的引用計數器加1
5 del a #刪除變量a,解除a對1的引用
6 del b #刪除變量b,解除b對1的引用
7 print(c) #最終變量c仍然引用1

因為a已經把值賦值給c,所以c的值是1。

 

del刪除的是變量,而不是數據。


另外。關於list。

1  if __name__=='__main__':
2  li=[1,2,3,4,5] #列表本身不包含數據1,2,3,4,5,而是包含變量:li[0] li[1] li[2] li[3] li[4]
3  first=li[0] #拷貝列表,也不會有數據對象的復制,而是創建新的變量引用
4 del li[0]
5 print(li) #輸出[2, 3, 4, 5] 6 print(first) #輸出 
6 #del li[0] 如果不斷的del li[0] 那么結果會不斷的遞減

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM