在 Python 中使用 del 关键字
Muhammad Maisam Abbas
2023年1月30日
-
在 Python 中使用
del
语句删除变量 -
在 Python 中使用
del
语句删除列表 -
在 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
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