Учебники

IPython — IO Caching

Ячейки ввода и вывода на консоли IPython нумеруются постепенно. В этой главе давайте подробно рассмотрим кэширование ввода-вывода в Python.

В 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] . Вы также можете использовать нарезку, чтобы получить выходные ячейки в пределах диапазона.