1. 程式人生 > >Python del 關鍵字的理解

Python del 關鍵字的理解

網上看了很多部落格,寫一個總結留給以後的自己看。

並沒有想象中的那麼複雜,del 關鍵字簡單來說是 取消變數名與真正資料之間的引用 ,這一點不同於 C/Cpp 的 delete 關鍵字。

a = 1
b = a
print(id(a), id(b))
del a
print(b)
print(a)

"""
輸出結果:
	140726007288864 140726007288864
	1
	Traceback (most recent call last):
	  File "<stdin>", line 1, in <module>
	NameError: name 'a' is not defined
"""

python 的變數實質上是個引用,當執行 b = a 後,可以在下面的 print 看到 a 和 b 其實指向了同一塊記憶體。 而 del 的作用就是取消這種引用,而不是像 cpp 一樣取消了對這塊記憶體的使用權。可以看到,del a之後,還能繼續列印 b 的值,而再次呼叫 a 則會報錯,因為 a 這個變數名已經與當前這段程式碼沒有關係了。

此外,del 還可以對列表操作:

lst = [1,2,3,4,5]
del lst[1]
print(lst)

"""
執行結果:
	[1,3,4,5]
"""

執行結果表示 del 用來刪除列表中某一個位置的值,而其他位置順次前移。