python/sage:如何获取最后一个变量?

问题描述 投票:0回答:1

如果我在木星(在Python和鼠尾草中)做类似的事情:

a = 42
b = 43
a + b

它将以某种方式设法理解该过程返回值

a + b
,即此处的 85:

同样,如果我这样做:

a = 42

它会明白没有什么可回报的。

我现在想为不同的应用程序做类似的事情(以缓存 python 操作的结果)…我怎样才能获取此信息,理想情况下只需运行代码并附加一些 python 代码来获取此信息?我尝试这样做:

a = 42
b = 43
a + b
print(_)

但这失败了。我想做一些愚蠢的事情,比如在最后一行前面添加

res = 
,但如果最后一行缩进等,它可能会失败......我怎样才能优雅地获取这些信息?

python jupyter sage
1个回答
0
投票

使用

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 增强了历史记录收集。

© www.soinside.com 2019 - 2024. All rights reserved.