当我使用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
也就是说,有没有办法引用我运行的最后一个命令打印出来的变量?
答案 0 :(得分:7)
是的,它位于变量_
:
>>> 2+2
4
>>> _
4
请注意,这不是" 打印",它是前一个表达式的值。因此,如果bar(a)
仅打印某些内容并且未返回该值,_
将无法帮助您。
答案 1 :(得分:0)
如果您使用的是IPython而不是vanilla解释器,则可以使用In
和Out
词典来引用过去的任意结果:
In [1]: 2 + 2
Out[1]: 4
In [2]: Out[1] + 2
Out[2]: 6
In [2]: Out[1] + 4
Out[2]: 8