0

当我使用 Python 交互式解释器时,我经常发现自己这样做:

>>> a = "starting value"
>>> foo(a)
"something I don't want"
>>> bar(a)
"what I wanted"
>>> a = bar(a)

有什么办法可以做到:

>>> bar(a)
"what I wanted"
>>> a = thing_from_before

也就是说,有没有办法引用我运行的最后一个命令打印出的变量?

4

2 回答 2

7

是的,它在变量中_

>>> 2+2
4
>>> _
4

请注意,这不是“打印的内容”,而是前一个表达式的值。因此,如果bar(a)只是打印一些东西并且不返回值,那_将无济于事。

于 2013-11-30T19:21:39.823 回答
0

如果您使用 IPython 而不是 vanilla 解释器,则可以使用InOut字典来引用过去的任意结果:

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

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

In [2]: Out[1] + 4
Out[2]: 8
于 2013-11-30T20:10:50.130 回答