在许多符号数学系统中,比如 Matlab 或 Mathematica,您可以使用 Ans或 %这样的变量来检索最后一个计算值。Python shell 中是否有类似的工具?
Ans
%
下划线。
>>> 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是生成输出的输入数:
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。