IPython - Caché de E / S

Las celdas de entrada y salida en la consola IPython se numeran de forma incremental. En este capítulo, veamos en detalle el almacenamiento en caché de IO en Python.

En IPython, las entradas se recuperan usando la tecla de flecha hacia arriba. Además, todas las entradas anteriores se guardan y se pueden recuperar. Las variables_i, __iy ___ialmacene siempre las tres entradas anteriores. Adicionalmente,In y _invariables proporciona listas de todas las entradas. Obviamente_in[n]recupera la entrada de la enésima celda de entrada. La siguiente sesión de IPython le ayuda a comprender este fenómeno:

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']

Del mismo modo, los guiones bajos simples, dobles y triples actúan como variables para almacenar las tres salidas anteriores. tambiénOut y _ohformar un objeto de diccionario del número de celda y la salida de las celdas que realizan la acción (sin incluir declaraciones de asignación). Para recuperar el contenido de una celda de salida específica, useOut[n] o _oh[n]. También puede usar la división para obtener celdas de salida dentro de un rango.

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)