当前位置:  开发笔记 > 编程语言 > 正文

重新分配会从Python中的内存中删除以前的值吗?

如何解决《重新分配会从Python中的内存中删除以前的值吗?》经验,为你挑选了1个好方法。

如果没有指定特定的python版本/实现,你不能真正问这样的问题.如果你在谈论参考实现(CPython),你可以看一下这个参考或者这个参考用于python3.x.

特别:

重要的是要理解Python堆的管理是由解释器本身执行的,并且用户无法控制它

因此,无法回答内存位置是否仍然有效.我们可以谈论的是垃圾收集器是否会收集对象.由于CPython依赖于引用计数,因此当您为其指定不同的值时p,原始值上的引用计数会减1.如果该引用计数降至零,则垃圾收集器将收集该对象.这意味着内存位置可用于某些其他对象,或者可能是python将该内存返回给操作系统.作为用户,您无法控制python解释器将采取哪些操作(或何时).

基本上,python解释器负责处理防止内存泄漏/内存溢出等所需的所有细节.作为python程序员,您不必担心这些细节,就像您需要担心这些细节一样你是用像C这样的低级语言编写的.



1> mgilson..:

如果没有指定特定的python版本/实现,你不能真正问这样的问题.如果你在谈论参考实现(CPython),你可以看一下这个参考或者这个参考用于python3.x.

特别:

重要的是要理解Python堆的管理是由解释器本身执行的,并且用户无法控制它

因此,无法回答内存位置是否仍然有效.我们可以谈论的是垃圾收集器是否会收集对象.由于CPython依赖于引用计数,因此当您为其指定不同的值时p,原始值上的引用计数会减1.如果该引用计数降至零,则垃圾收集器将收集该对象.这意味着内存位置可用于某些其他对象,或者可能是python将该内存返回给操作系统.作为用户,您无法控制python解释器将采取哪些操作(或何时).

基本上,python解释器负责处理防止内存泄漏/内存溢出等所需的所有细节.作为python程序员,您不必担心这些细节,就像您需要担心这些细节一样你是用像C这样的低级语言编写的.

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有