避免将对象存储在Jupyter笔记本缓存中
问题描述:
Jupyter善意地将我的对象存储在输出变量中,如_1
,_2
,... _10
。通常在笔记本上工作的过程中,我会用新的覆盖旧的结果,并用新的覆盖旧的结果。避免将对象存储在Jupyter笔记本缓存中
但是我的数据继续留在内存中,生活在这些隐藏的输出变量中。有没有一种方法可以禁止用户的这种行为“请不要在我的笔记本中存储任何输出变量”或在对象的“请不要将我存储在输出变量”?
答
仅当单元格中的最后一个句子是值不同于None
且末尾没有分号的表达式时才会创建输出变量。因此,您可以在单元级完全控制:使用分号禁用显示和创建输出变量。使用print
或display
(均返回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
是不确定的。