IPython - IO 缓存
IPython 控制台上的输入和输出单元格是递增编号的。 在本章中,让我们详细了解 Python 中的 IO 缓存。
在 IPython 中,使用向上箭头键检索输入。 此外,所有以前的输入都被保存并可以检索。 变量 _i、__i 和 ___i 始终存储前三个输入条目。此外,In 和 _in 变量提供了所有输入的列表。 显然 _in[n] 从第 n 个输入单元格中检索输入。 下面的 IPython 会话可以帮助您理解这种现象 −
In [1]: print ("Hello") Hello In [2]: 2+2 Out[2]: 4 In [3]: x = 10 In [4]: y = 2 In [5]: pow(x,y) Out[5]: 100 In [6]: _iii, _ii, _i Out[6]: ('x = 10', 'y = 2', 'pow(x,y)') In [7]: In Out[7]: ['', 'print ("Hello")', '2+2', 'x = 10', 'y = 2', 'pow(x,y)', '_iii, _ii, _i', 'In' ] In [8]: In[5] 9. IPython — IO Out[8]: 'pow(x,y)' In [9]: _ih Out[9]: ['', 'print ("Hello")', '2+2', 'x = 10', 'y = 2', 'pow(x,y)', '_iii, _ii, _i', 'In', 'In[5]', '_ih' ] In [11]: _ih[4] Out[11]: 'y = 2' In [12]: In[1:4] Out[12]: ['print ("Hello")', '2+2', 'x=10']
类似地,单下划线、双下划线和三下划线充当变量来存储前三个输出。 Out 和 _oh 也构成了单元格编号和执行动作的单元格输出(不包括赋值语句)的字典对象。要检索特定输出单元格的内容,请使用 Out[n] 或 _oh[n]。 您还可以使用切片来获取范围内的输出单元格。
In [1]: print ("Hello") Hello In [2]: 2+2 Out[2]: 4 In [3]: x = 10 In [4]: y = 3 In [5]: pow(x,y) Out[5]: 1000 In [6]: ___, __, _ Out[6]: ('', 4, 1000) In [7]: Out Out[7]: {2: 4, 5: 1000, 6: ('', 4, 1000)} In [8]: _oh Out[8]: {2: 4, 5: 1000, 6: ('', 4, 1000)} In [9]: _5 Out[9]: 1000 In [10]: Out[6] Out[10]: ('', 4, 1000)