引用计数,这是 Python 的垃圾回收策略。补充一下。

解释器(也就是你说的 Shell)负责跟踪对象的引用计数,垃圾收集器负责释放内存。

如何释放?可以通过销毁对象的引用,使引用计数减少至 0。假设 x = 3,以下情况会使 3 这个整型对象的引用计数减少;

函数运行结束,所有局部变量都被销毁,对象的引用计数也就随之减少。例如 foo(x) 运行结束,x 被销毁;当变量被赋值给另一个对象

时,原对象的引用计数也会减少。例如 x = 4,这时候 3 这个对象的引用计数就减 1 了;

使用 del 删除一个变量也会导致对象引用减少。例如 del x;

对象从集合对象中移除。例如 lst.remove(x);

包含对象的集合对象被销毁。例如 del lst;

这些操作都可能使对象变成垃圾回收对象,由垃圾收集器负责收集,当然垃圾收集器也负责处理循环引用对象。

推荐学习《python教程》。

python内存清理_python如何清理内存相关推荐

  1. python的内存机制_python中的内存机制

    首先要明白对象和引用的概念 (例子:a=1, a为引用,1为对象,对象1的引用计数器为1,b=1此时内存中只有一个对象1,a,b都为引用,对象的引用计数器此时为2,因为有两个引用) a=1,b=1id ...

  2. c python 内存冲突_Python在计算内存时应该注意的问题?

    我之前的一篇文章,带大家揭晓了 Python 在给内置对象分配内存时的 5 个奇怪而有趣的小秘密.文中使用了sys.getsizeof()来计算内存,但是用这个方法计算时,可能会出现意料不到的问题. ...

  3. python的内存泄露_Python 程序的内存泄露,教你一招来解决?

    如果大家在 Linux 或者 macOS 下面运行一段可能导致内存泄露的程序,那么你可能会看到下面这样的情况: 而如果你用的系统是 Windows,那么可能电脑直接就卡死了. 但是,调试这种 OOM( ...

  4. python的内存管理_python如何管理内存?

    介绍 内存管理是有效分配,重新分配和协调内存的过程,以便所有不同的进程都能平稳运行并可以最佳地访问不同的系统资源.内存管理还涉及清除不再访问的对象的内存. 在Python中,内存管理器通过定期运行以清 ...

  5. python 内存优化_Python 黑魔法之内存优化

    本文字数:2634 字 阅读本文大概需要:7 分钟 写在之前 围绕类的话题,说是说不完的,仅在特殊方法,除了我们在前面遇到过的 __init__(),__new__(),__str__() 等之外还有 ...

  6. python的数据清理_Python数据清理,清洗

    一.数据清洗与准备 1.缺失值 NaN(np.nan): 对数值型数据,浮点值NaN(not a number) NA(not available) None 均为缺失值,通过data.isnull( ...

  7. python的内存管理_Python深入06 Python的内存管理

    语言的内存管理是语言设计的一个重要方面.它是决定语言性能的重要因素.无论是C语言的手工管理,还是Java的垃圾回收,都成为语言最重要的特征.这里以Python语言为例子,说明一门动态类型的.面向对象的 ...

  8. 苹果怎么付费购买内存_苹果怎么清理隐藏内存?手机恢复如初都靠它了

    阅读本文前,请您先点击上面"蓝色字体",再点击"关注",这样您就可以免费收到我们的最新内容了,每天都会有更新,完全是免费订阅,请放心关注.注:本文转载自网络,不 ...

  9. 苹果内存不够怎么办_手机内存清理了还是不够用?不知道这些方法,真是太可惜了...

    手机会越用越卡?手机内存不够大,内存不够怎么办?最好的方法就是清理自己的内存,那么你知道自己手机里面的内存怎样清理干净吗?是否还会有一些清理不掉的缓存呢,就算你点了清理,甚至删除了一俩个软件,手机仍然 ...

最新文章

  1. 一文学懂Java泛型,详细而全面,值得收藏~
  2. java中String和char的区别
  3. java的图形界面上传附件_Java图形界面(GUI) 动态获取上传或下载文件的路径问题...
  4. qt连接mysql创建表_Qt编译mysql以及创建表后进行导入操作
  5. 即将毕业的你,做好当一个社会人的准备了吗?
  6. Java基础17:Java IO流总结
  7. leetcode - 621. 任务调度器
  8. SQL Server数据库学习笔记-三大范式
  9. 学web前端有什么计划?
  10. springboot整合junit_springBoot整合junit(笔记)
  11. 全面理解Unity加载和内存管理
  12. mysql id自动增长_MySQL中的6种约束,你掌握了几种?
  13. Atitit.木马病毒的操作注册表原理 系统服务管理器 atiSysService
  14. Mybatis-Plus条件构造器
  15. 测试开发工程师必备软硬能力高级测试开发工程师需要具备什么能力?
  16. 多线程——保证线程安全
  17. [渝粤教育] 西南科技大学 教育心理学 在线考试复习资料
  18. RC微分积分电路 RC滤波电路 RC脉冲分压器 RC耦合电路 good
  19. Windows多用户配置,不同用户不同访问权限
  20. python浪漫微信_教你用python做一个哄女友的微信自动回复机器人

热门文章

  1. CRM下午茶(16)-SNS就是朋友关系管理
  2. Web前端期末大作业---响应式美女健身教练瑜伽馆网页设计(HTML+CSS+JavaScript+)实现
  3. Spring Cloud 统一配置
  4. 排列组合思维导图_思维模型10 - 排列组合是什么?
  5. hive通过经纬度计算两地距离
  6. 计算机硬盘更换图解,轻松更换电脑硬盘无需重装系统的方法
  7. C++ 利用结构体数组编写一个程序,对10名小学生的信息进行管理,学生结构体的成员包括姓名、学号、年龄、语文成绩、数学成绩、英语成绩、三门课总分等
  8. turtle绘画-移动落笔点(改变初始原点)
  9. PHP反序列化魔术方法
  10. Spring Security 鉴权流程