pytyon+del
时间: 2023-12-11 21:04:49 浏览: 57
浅析python中的del用法
在Python中,`del`关键字用于删除对象或对象中的元素。当使用`del`删除对象时,如果该对象没有被其他变量引用,则该对象将被垃圾回收机制回收如果对象同时还有系统资源(如打开的文件或数据库连接),则需要在删除对象时释放这些资源。这时可以使用`__del__`方法来实现。当对象被删除时,Python会自动调用`__del__`方法来释放资源。
下面是两个示例:
1. 删除对象中的元素
```python
class Foo:
def __init__(self, name):
self.name = name
def __del__(self):
print('执行我啦')
def __getitem__(self, item):
print(self.__dict__[item])
def __setitem__(self, key, value):
self.__dict__[key] = value
def __delitem__(self, key):
print('del obj[key]时,我执行')
self.__dict__.pop(key)
def __delattr__(self, item):
print('del obj.key时,我执行')
self.__dict__.pop(item)
f1 = Foo('sb')
f1['age'] = 18
f1['age1'] = 19
del f1.age1
del f1['age']
f1['name'] = 'alex'
print(f1.__dict__)
```
输出结果为:
```
del obj[key]时,我执行
del obj[key]时,我执行
{'name': 'alex'}
```
2. 删除对象并释放系统资源
```python
import os
class Foo:
def __init__(self):
self.file = open('test.txt', 'w')
def __del__(self):
print('执行我啦')
self.file.close()
os.remove('test.txt')
f1 = Foo()
del f1
```
输出结果为:
```
执行我啦
```
阅读全文