跳到主要内容

Python del 语句

Python 中的 del 关键字用于删除对象。其语法为:

# 删除 obj_name
del obj_name

这里的 obj_name 可以是变量、用户定义的对象、列表、列表中的项、字典等。

示例 1:删除用户定义的对象

class MyClass:
a = 10
def func(self):
print('Hello')

# 输出:
print(MyClass)

# 删除 MyClass
del MyClass

# 错误:MyClass 未定义
print(MyClass)

在这个程序中,我们使用 del MyClass 语句删除了 MyClass

示例 2:删除变量、列表和字典


my_var = 5
my_tuple = ('Sam', 25)
my_dict = {'name': 'Sam', 'age': 25}

del my_var
del my_tuple
del my_dict

# 错误:my_var 未定义
print(my_var)

# 错误:my_tuple 未定义
print(my_tuple)

# 错误:my_dict 未定义
print(my_dict)

示例 3:从列表中移除项目、片段

del 语句可用于删除给定索引处的项。它也可用于从列表中移除片段

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]

# 删除第三个项目
del my_list[2]

# 输出:[1, 2, 4, 5, 6, 7, 8, 9]
print(my_list)

# 删除第二到第四个项目
del my_list[1:4]

# 输出:[1, 6, 7, 8, 9]
print(my_list)

# 删除所有元素
del my_list[:]

# 输出:[]
print(my_list)

示例 4:从字典中移除键值对

person = { 'name': 'Sam',
'age': 25,
'profession': 'Programmer'
}

del person['profession']

# 输出:{'name': 'Sam', 'age': 25}
print(person)

del 与元组和字符串

注意: 在 Python 中,您无法删除元组和字符串的项。这是因为元组和字符串是不可变的;在创建后无法更改的对象。

my_tuple = (1, 2, 3)

# 错误:'tuple' 对象不支持项目删除
del my_tuple[1]

然而,您可以删除整个元组或字符串。


my_tuple = (1, 2, 3)

# 删除元组
del my_tuple