本文主要是介绍python析构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
__del__,析构函数不能手动调用,而是每个对象引用使用完之后系统自动回收垃圾,且按照字典顺序(A-Za-z)来回收。
class NewClass(object):num_count = 0 # 所有的实例都共享此变量,即不单独为每个实例分配def __init__(self,name):self.name = nameNewClass.num_count += 1def __del__(self):NewClass.num_count -= 1print ("Del",self.name)ewClass("Hello")
bb = aa
cc = aa
del bb,cc,aa
print ("Over")
这个例子手动删除掉全部的应用所以会先执行__del__
再输出Over:
Del Hello
Over
这里例子中只手动删除一部分引用,则程序运行最后才会执行__del__
,也就是先输出Over再执行__del__
class NewClass(object):num_count = 0 # 所有的实例都共享此变量,即不单独为每个实例分配def __init__(self,name):self.name = nameNewClass.num_count += 1def __del__(self):NewClass.num_count -= 1print ("Del",self.name)def test():print ("aa")aa = NewClass("Hello")
bb = aa
cc = aa
del bb,cc
print ("Over")
输出结果:
Over
Del Hello
这篇关于python析构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!