2017-10-10 49 views
0

Jupyter善意地将我的对象存储在输出变量中,如_1_2,... _10。通常在笔记本上工作的过程中,我会用新的覆盖旧的结果,并用新的覆盖旧的结果。避免将对象存储在Jupyter笔记本缓存中

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

回答

0

仅当单元格中的最后一个句子是值不同于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是不确定的。