假设我运行了一个昂贵的操作foo(),它返回了一个很大的列表,但我忘了将foo()的输出保存在变量中。
假设我再次运行foo(),我会得到不同的输出。
但是我第一次运行foo()时确实需要输出。
实际上,我问是否有一些缓冲区存储了最后一个命令的输出,我可以读到它?
答案 0 :(得分:5)
_
(单下划线)适用于我的python 3 for windows,也适用于其他版本:
>>> 1 + 1
2
>>> x = _
>>> x
2
答案 1 :(得分:2)
_
字符(单个下划线)已定义作为所有Python版本中最后一次评估的输出,但仅限于交互式shell中。请参阅:the docs
示例:
>>> def foo():
>>> return 3
>>> foo()
3
>>> _ + 1
4
根据您的问题,听起来您只关心如何在交互式shell中执行此操作;为了完整性的利益,没有为非交互式shell定义上述功能。