Jupyter 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)