在 Python 中使用 del 關鍵字

Muhammad Maisam Abbas 2023年1月30日
  1. 在 Python 中使用 del 語句刪除變數
  2. 在 Python 中使用 del 語句刪除列表
  3. 在 Python 中使用 del 語句刪除字典元素
  4. 用 Python 中的 del 語句刪除使用者定義的類物件
在 Python 中使用 del 關鍵字

在本教程中,我們將討論 Python 中 del 語句的用法。

del 語句是用來刪除物件的。由於 Python 物件導向的特性,所有能容納資料的東西都是一個物件。所以,del 語句可以用來刪除變數、類物件、列表等。

del 語句的語法為:

del object_name

它通過從本地和全域性名稱空間中刪除 object_name 來工作。

在 Python 中使用 del 語句刪除變數

variable = "This is a variable"
print(variable)
del variable
print(variable)

輸出:

This is a variable
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-1-f9a4f1b9bb9c> in <module>()
      2 print(variable)
      3 del variable
----> 4 print(variable)

NameError: name 'variable' is not defined

上述程式顯示了 variable 的值,然後給出了 NameError。這是因為在使用 del 語句後,variable 已經從名稱空間中刪除了。

在 Python 中使用 del 語句刪除列表

List = ["One", "Two", "Three"]
print(List)
del List
print(List)

輸出:

['One', 'Two', 'Three']
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-2-edd546e00a8e> in <module>()
      2 print(List)
      3 del List
----> 4 print(List)

NameError: name 'List' is not defined

與前面的例子類似,List 這個名字已經從名稱空間中刪除。

我們也可以使用 del 語句對一個列表進行切片。

List = ["One", "Two", "Three"]
print(List)
del List[1]
print(List)

輸出:

['One', 'Two', 'Three']
['One', 'Three']

它刪除了索引為 1 的列表元素。

在 Python 中使用 del 語句刪除字典元素

dictionary = {"key1": "value1", "key2": "value2", "key3": "value3"}
print(dictionary)
del dictionary["key2"]
print(dictionary)

輸出:

{'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
{'key1': 'value1', 'key3': 'value3'}

用 Python 中的 del 語句刪除使用者定義的類物件

class MyClass:
    def myFunction(self):
        print("Hello")


class1 = MyClass()
class1.myFunction()
del class1
class1.myFunction()

輸出:

Hello
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-23-26401eda690e> in <module>()
      6 class1.myFunction()
      7 del class1
----> 8 class1.myFunction()

NameError: name 'class1' is not defined
Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

相關文章 - Python Keyword