在交互式 Python shell 中获取最后的结果

在许多符号数学系统中,比如 Matlab 或 Mathematica,您可以使用 Ans%这样的变量来检索最后一个计算值。Python shell 中是否有类似的工具?

57467 次浏览

下划线。

>>> 5+5
10
>>> _
10
>>> _ + 5
15
>>> _
15

仅供记录,ipython 更进一步,您可以使用 _ 及其数值访问每个结果

In [1]: 10
Out[1]: 10


In [2]: 32
Out[2]: 32


In [3]: _
Out[3]: 32


In [4]: _1
Out[4]: 10


In [5]: _2
Out[5]: 32


In [6]: _1 + _2
Out[6]: 42


In [7]: _6
Out[7]: 42

也可以用% ed 宏编辑行的范围:

In [1]: def foo():
...:     print "bar"
...:
...:


In [2]: foo()
bar


In [3]: %ed 1-2

IPython 允许您使用 double (__)和 triple 下划线(___)超越单下划线 _,返回倒数第二和第三个命令的结果。

或者,您也可以使用 Out[n],其中 n是生成输出的输入数:

In [64]: 1+1
Out[64]: 2


...


In [155]: Out[64] + 3
Out[155]: 5

有关更多信息,请参见 https://jakevdp.github.io/PythonDataScienceHandbook/01.04-input-output-history.html