如何在NumPy / SciPy中删除一些变量?

时间:2015-08-25 18:30:37

标签: python matlab numpy clear

我正在从Matlab / Octave过渡到NumPy / SciPy。当我在交互模式下使用Matlab时,我不时使用clearclear [some_variable]从内存中删除该变量。例如,在阅读一些新数据以开始一组新的实验之前,我曾经在Matlab中清除数据。

我怎么能用NumPy / SciPy做同样的事情?

我做了一些研究,我发现有一个名为del的命令,但我听说del实际上并没有清除内存,但是变量从名称空间中消失了。我是对的吗?

话虽如此,在NumPy / SciPy中模仿“清除”Matlab的最佳方法是什么?

1 个答案:

答案 0 :(得分:6)

根据{{​​3}}

del(obj)将有效

如果你在IPython工作,那么你也可以使用%xdel obj

  

...但我听说“del”实际上并没有清除记忆,而是   变量从命名空间中消失。我是对的吗?

是的,这是正确的。这就是垃圾收集,Python会在有意义的时候清理内存,你不需要担心它,因为从最终变量不再存在。您的代码将表现相同,无论垃圾收集是否已发生但无关紧要,因此无需替代del

如果您对Matlab和Pythons垃圾收集/内存分配的差异感到好奇,可以在其上阅读scipy mail list SO线程。