析构函数__del__定义:在类里定义,如果不定义,Python 会在后台提供默认析构函数。

析构函数__del__调用:

A、使用del 显式的调用析构函数删除对象时:del对象名;

class Foo:def __init__(self,x):self.x=xdef __del__(self): #在对象资源被释放时触发print('-----del------')print(self)
f=Foo(100000)
del f

B、当对象在某个作用域中调用完毕,跳出其作用域的同时析构函数也会被调用一次,这样可以用来释放内存空间。

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
class Foo:def __init__(self,x):self.x=xdef __del__(self): #在对象资源被释放时触发print('-----del------')print(self)
f=Foo(100000)
time.sleep(5) #time.sleep(5)执行完后,自动调用__del__()

注意:__del__只是删除了对象的引用,比如上面del f 只是f对象不再执行实例数据的存储空间了,实例数据并没有被删除,删除实例数据需要python本身的垃圾回收机制;

垃圾回收机制

Python 采用垃圾回收机制来清理不再使用的对象;Python 提供gc模块释放
不再使用的对象,Python 采用‘引用计数’ 的算法方式来处理回收,
即:当某个对象在其作用域内不再被其他对象引用的时候,Python 就自动清除对象;
Python 的函数collect()可以一次性收集所有待处理的对象(gc.collect())

python的垃圾回收机制和析构函数__del__相关推荐

  1. python垃圾回收机制原理_详解python的垃圾回收机制

    python的垃圾回收机制 一.引子 我们定义变量会申请内存空间来存放变量的值,而内存的容量是有限的,当一个变量值没有用了(简称垃圾)就应该将其占用的内存空间给回收掉,而变量名是访问到变量值的唯一方式 ...

  2. a byte of python中文版_面试官问 Python 版 “垃圾回收”机制,我没答上来

    点击"开发者技术前线",选择"星标?" 13:21 在看|星标|留言,  真爱 选自<萌萌哒的柯基> 作者:heroyfhttps://www.he ...

  3. 关于python的垃圾回收机制_Python的垃圾回收机制

    知识点的铺垫 对象和引用 python作为一门动态语言,一个简单的赋值语句也是很值得研究的,重要特点就是引用对象分离. a = 1 其中整数1是一个对象,而a是一个引用.利用赋值语句,引用a指向对象1 ...

  4. python中垃圾回收机制_python 垃圾回收机制

    首先我们要说是 以引用计数为主 标记清楚和分代回收为辅 接下来分以下几个方面解释 一 引用计数 每个对象内部都维护了一个值,该值记录这此对象被引用的次数,如果次数为0,则Python垃圾回收机制会自动 ...

  5. 【Python知识点梳理】10.Python的垃圾回收机制、代码规范及命令行参数

    Python的垃圾回收机制.代码规范及命令行参数 文章目录 1.Python的垃圾回收机制 2.Python的引用计数机制 3.Python中的循环数据结构及引用计数 4.Python中的GC模块 5 ...

  6. python中垃圾回收机制_Python中的变量和垃圾回收机制

    1.python中的变量 python 和 java 中的变量本质不一样. java 中声明变量时要指定变量的数据类型,int.str或某一类,之后虚拟机就会在内存中申请一块空间,空间的大小跟类型相关 ...

  7. Python的垃圾回收机制(引用计数+标记清除+分代回收)

    一.写在前面: 我们都知道Python一种面向对象的脚本语言,对象是Python中非常重要的一个概念.在Python中数字是对象,字符串是对象,任何事物都是对象,而它们的核心就是一个结构体--PyOb ...

  8. python内存的回收机制_简单介绍python的垃圾回收机制

    这篇文章主要介绍了python垃圾回收机制的相关资料,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下 什么是垃圾回收机制? 首先,咱先来解释名词,垃圾回收是不是就是将没用的,废弃的东西回 ...

  9. 浅谈python的垃圾回收机制以及内存管理

    背景介绍 Python语言默认采用的垃圾收集机制是『引用计数法 Reference Counting』,该算法最早George E. Collins在1960的时候首次提出,50年后的今天,该算法依然 ...

最新文章

  1. Fastboot和Recovery
  2. 微信小程序下拉刷新/上拉加载更多
  3. 大工18春计算机文化基础在线测试1,大工18春《计算机文化基础》在线测试1(满分答案)...
  4. 使用systemtap调试Linux内核
  5. sqlserver安装目录_SQL Server 2016数据库安装
  6. 【完结】囚生CYの备忘录(20220906-20221120)
  7. 数据挖掘基础知识(未完待续)
  8. C语言实现 输入两个正整数m和n,求其最大公约数和最小公倍数【学习笔记】
  9. 利用html编辑信息轰炸机,scratch模拟轰炸机投弹【参考答案】
  10. sql server数据库事务日志已满请参阅log_reuse_wait_desc怎么解决?
  11. 张赐荣: C#ADO.NET 操作Mysql 详细教程
  12. 利用canvas画图片
  13. 双网卡电脑同时上内网(局域网)和外网并实现跨网段访问
  14. 企业信息化建设都包括哪些方面?
  15. Google GSON GsonBuilder().setDateFormat(yyyy-MM-dd HH:mm:ss)不能格式化Data
  16. 使用GoogleCode管理你的代码
  17. 洛谷P4233 射命丸文的笔记 分治NTT+竞赛图
  18. 事件冒泡是个啥子东西
  19. docker搭建并使用AB(apache bench)测试工具压力测试
  20. RAID5 磁盘阵列的故障以及修复要点

热门文章

  1. 《Android游戏开发详解》一2.16 区分类和对象
  2. ASP.NET Core 介绍和项目解读
  3. JavaScript强化教程——jQuery选择器
  4. 安装apache服务出错,无法启动此程序,因为计算机中丢失VCRUNTIME140.dll 尝试重新安装此程序以解决此问题...
  5. 用master-worker模型比对团队管理
  6. 禅道需要启动php么,2.使用说明与示例
  7. 【一周入门MySQL—5】
  8. 【学习笔记】node.js基础介绍
  9. Field-Symbols总结
  10. 如何对系统中设置的修改记录增加log日志