避免在Jupyter笔记本缓存中存储对象

时间:2017-10-10 14:18:28

标签: python ipython jupyter-notebook jupyter

Jupyter将我的对象存储在输出变量中,例如_1_2,... _10。通常在笔记本中工作的过程中,我用新的覆盖旧的结果并用新的覆盖旧的单元格。

然而,我的数据继续留在内存中,生活在这些隐藏的输出变量中。是否有一种方法可以在用户方面禁用此行为“请不要在我的笔记本中存储任何输出变量”或在对象方面“请不要将我存储在输出变量中”?

1 个答案:

答案 0 :(得分:1)

仅当单元格中的最后一个句子是一个值不同于None并且末尾没有分号的表达式时,才会创建输出变量。因此,您可以在单元级别完全控制:使用分号禁用显示和创建输出变量。使用printdisplay(都返回None)获取对象的直观表示,而不创建输出变量。

以下示例来自IPython控制台,但笔记本的工作方式相同。

In [1]: 'hello'
Out[1]: hello

In [2]: 'hello';

In [3]: print('hello')
hello

In [4]: display('hello')
'hello'

此时_1已定义并绑定到'hello',但_2_3_4未定义。