gpt4 book ai didi

python - Python 内存管理是如何工作的?

转载 作者:太空狗 更新时间:2023-10-29 17:22:08 27 4
gpt4 key购买 nike

好吧,我得到了一个类的概念,它允许其他类以 as 为基础导入类,而不是如果你使用它就必须导入它。我将如何实现它?或者,Python 解释器是否已经以某种方式做到了这一点?它会从内存中销毁未使用的类吗?如何销毁?

我知道 C++/C 非常注重内存,使用指针等等,但是 Python 呢?而且我并不是说我对此有疑问;我或多或少想为我的程序设计对其进行修改。我想编写一个使用数百个类和模块的大型程序。但我担心如果我这样做会使应用程序陷入困境,因为我不了解 Python 如何处理内存管理。

我知道这是一个模糊的问题,但如果有人能给我链接或指出正确的方向,我将不胜感激。

最佳答案

Python 与 C#、Java、Perl、Ruby、Lua 和许多其他语言一样,使用垃圾回收而不是手动内存管理。您只需自由地创建对象,该语言的内存管理器会定期(或在您明确指示时)查找您的程序不再引用的任何对象。

所以如果你想持有一个对象,只要持有对它的引用即可。如果您希望(最终)释放该对象,请删除对它的所有引用。

def foo(names):
for name in names:
print name

foo(["Eric", "Ernie", "Bert"])
foo(["Guthtrie", "Eddie", "Al"])

foo 的每一次调用都会创建一个用三个值初始化的 Python list 对象。在 foo 调用期间,它们由变量 names 引用,但一旦该函数退出,就没有变量持有对它们的引用,它们是公平的游戏要删除的垃圾收集器。

关于python - Python 内存管理是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11596371/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com