【发布时间】:2017-11-08 01:08:47
【问题描述】:
如果我在 Python 3 (func()) 中运行一个函数,是否有可能在 func() 内部创建但在完成后无法访问的对象会导致其内存使用量增加?
例如,将运行
def func():
# Objects being created, that are not able to be used after function call has ended.
while True:
func()
无论func()中的内容是否导致程序内存不足?
如果程序持续使用内存,func() 中可能发生的哪些事情会导致它在被调用后继续使用内存?
编辑: 我只是询问创建函数结束后无法再访问的对象,因此应该删除它们。
【问题讨论】:
-
简短的回答是肯定的 -
non_local_list.append(1)将是一个微不足道的例子。 -
你能解释一下为什么你想要这样的行为吗?也许这个网站超出范围...
-
另一个简单的例子:
def f():''; f.__doc__ += ' ' -
在这种情况下,您需要向我们展示表现出这种行为的minimal reproducible example。我们无法调试无法运行甚至无法查看的代码。
-
是的,我很感激这一点,我正在创建一个,但我只是想先检查一下是否有可能出现问题(我不只是发疯了!)
标签: python python-3.x memory memory-management memory-leaks