python中用于释放类占用资源的方法_python编程(类的释放)

  • Post author:
  • Post category:python


【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

大多数的脚本语言都是由虚拟机来安排内存释放的。所以,这些语言一本只要申请内存使用,不需要手工去释放它们。那它们是什么时候被释放的,其实我们可以自己做几个实验看看。

1、单个变量

我们知道python语言下面,类释放的时候会调用del这个函数,所以只要在这个函数里面添加一些消息就可以了。

class A():

def __init__(self):

print ‘__init__’

def __del__(self):

print ‘__del__’

a=A()

这几行代码比较简单,几乎输完命令的同时就结束了。结果也是很清楚的,出现了init和del的打印。这说明虚拟机在执行结束的时候确实是调用了del函数的。

2、添加循环

为了增加复杂性,可以在原有代码后面增加一些循环,这样可以看看循环发生之前虚拟机是否会调用del函数。

import time

class A():

def __init__(self):

print ‘__init__’

def __del__(self):

print ‘__del__’

a=A()

cnt = 0

while True:

time.sleep()

cnt += 1

print cnt

实验表明,在循环之前不会有d