在Python中,`del`关键字用于删除变量、列表元素、字典键值对等。以下是`del`的一些基本用法:
1. 删除变量:
x = 10
del x 删除变量x
print(x) 这将引发NameError,因为x已经被删除
2. 删除列表元素:
numbers = [1, 2, 3, 4, 5]
del numbers 删除索引为2的元素(即数字3)
print(numbers) 输出:[1, 2, 4, 5]
3. 删除字典键值对:
person = {'name': '老六', 'age': 30, 'city': '北京'}
del person['age'] 删除键为'age'的键值对
print(person) 输出:{'name': '老六', 'city': '北京'}
4. 删除切片(列表):
my_list = [1, 2, 3, 4, 5]
del my_list[1:4] 删除索引从1到3的元素(即数字2和3)
print(my_list) 输出:[1, 5]
5. 删除整个列表或字典:
del my_list 删除整个列表
del my_dict 删除整个字典
6. 使用`del`删除对象的属性(通过`__del__`方法):
class Person:
def __init__(self):
self.name = '老六'
self.age = 30
p = Person()
del p.age 删除对象的age属性
print(p.age) 这将引发AttributeError,因为age属性已经被删除
请注意,`del`语句并不直接释放内存,而是减少对象的引用计数。当对象的引用计数为零时,Python的垃圾回收器会自动调用对象的`__del__`方法,进行资源清理。