如果我在木星(在Python和鼠尾草中)做类似的事情:
a = 42
b = 43
a + b
它将以某种方式设法理解该过程返回值
a + b
,即此处的 85:
同样,如果我这样做:
a = 42
它会明白没有什么可回报的。
我现在想为不同的应用程序做类似的事情(以缓存 python 操作的结果)…我怎样才能获取此信息,理想情况下只需运行代码并附加一些 python 代码来获取此信息?我尝试这样做:
a = 42
b = 43
a + b
print(_)
但这失败了。我想做一些愚蠢的事情,比如在最后一行前面添加
res =
,但如果最后一行缩进等,它可能会失败......我怎样才能优雅地获取这些信息?
使用
ipython
,可以通过多种方式引用前一个 out
行:
In [113]: a = 42
...: b = 43
...: a + b
Out[113]: 85
In [114]: _ # also __ and ___
Out[114]: 85
In [115]: _113
Out[115]: 85
In [116]: Out[113]
Out[116]: 85
Out
是值列表
没有一种方法可以如您所愿地引用单元格中未分配的行:
a = 42
b = 43
a + b
print(?)
使用
a+b;
也会取消上次显示/保存,与 c = a+b
相同。
_
也适用于普通的交互式 Python 会话。 jupyter/ipython 增强了历史记录收集。