python内存管理制止_【编程】Python的内存管理

Python – 和许多其他语言类似 (Java, c# 等),使用垃圾收集机制,而不是手工管理内存。Python内存依靠 Python 私有堆空间管理 。全部的Python对象和数据结构都分配在一个私有堆。开发者不需要访问这个私有堆,解释器会维护它。

Python 内存管理

Python 内存管理负责内存的分配,负责为Python对象分配内存空间。我们可以自由的创立对象,Python内存管理会周期性的查询对象的引用情况。核心 API为程序开发提供了一些工具。

Python 也有一个内建的垃圾收集器,回收不用的内存,释放内存,让它被堆空间再次利用。所以操作一个对象,仅仅是在操作它的引用,如果想释放一个对象,清除掉对它的全部引用就可以。

def getDays(days):

for day in days:

print day

getDays(["Sunday", "Monday", "Tuesday"])

getDays(["Wednesday", "Thursday", "Friday"])

每一个对 getDays 的调用,都创建一个Python列表对象,包含三个初始值。 在getDays调用期间,它们被变量days所引用,一旦函数退出,就没有变量引用它们了,它们就会被垃圾收集器删除。

Python 内存分配

内存回收依靠引用计数器掌握。 Python 虚拟机会保持一个内部的对一个对象的引用日志,并且在没有对它的引用的时候,自动的收集它。尽管python使用 ‘引用计数’和’垃圾归集’去释放内存 (不再使用的对象), 但是内存并没有归回给操作系统 。释放的内存块仅仅归给了python解释器,而不是操作系统。这样python进程仍然掌握着同样的内存, Python 将把内存分配给其他对象。

Python 基础

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值