gpt4 book ai didi

python gc.collect() 在循环中

转载 作者:行者123 更新时间:2023-12-05 05:25:06 25 4
gpt4 key购买 nike

谁能解释为什么会这样?

>>> for i2 in range(10):
... print i2
... gc.collect()
...
0
0
1
0
2
0
3
0
4
0
5
0
6
0
7
0
8
0
9
0

最佳答案

gc.collect() 的结果是 number of unreachable objects :

gc.collect([generation])

With no arguments, run a full collection. The optional argument generation may be an integer specifying which generation to collect (from 0 to 2). A ValueError is raised if the generation number is invalid. The number of unreachable objects found is returned.

当您以交互方式将该程序输入 Python 时,所有这些调用的结果都由 REPL(read-eval-print 循环)输出。这与当您以交互方式在 Python 中输入 42+7 并且它回显 49 没有什么不同,尽管没有没有指示您想要打印它(例如,使用 print 调用)。

因此,您看到的输出是 gc.collect() 的所有零返回值,散布在范围打印的“真实”输出中。

如果您将其作为真实 脚本运行,您只会看到数字0..9,因为不涉及REPL。或者你同样可以通过对它做一些事情来防止返回值被输出,例如:

>>> for i2 in range(4):
... print i2
... junk = gc.collect()
...
0
1
2
3

关于python gc.collect() 在循环中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32391461/

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