IPython - IO Caching

Các ô đầu vào và đầu ra trên bảng điều khiển IPython được đánh số tăng dần. Trong chương này, chúng ta hãy xem xét chi tiết bộ nhớ đệm IO trong Python.

Trong IPython, đầu vào được truy xuất bằng phím mũi tên lên. Bên cạnh đó, tất cả các đầu vào trước đó đều được lưu và có thể được truy xuất. Các biến_i, __i___iluôn lưu trữ ba mục nhập trước đó. Ngoài ra,In_inbiến cung cấp danh sách tất cả các đầu vào. Chắc chắn_in[n]lấy đầu vào từ ô đầu vào thứ n. Phần IPython sau đây sẽ giúp bạn hiểu hiện tượng này -

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

Tương tự, các dấu gạch dưới đơn, đôi và ba hoạt động như các biến để lưu trữ ba đầu ra trước đó. Cũng thếOut_ohtạo thành một đối tượng từ điển về số ô và kết quả của ô thực hiện hành động (không bao gồm các câu lệnh gán). Để truy xuất nội dung của ô đầu ra cụ thể, hãy sử dụngOut[n] hoặc là _oh[n]. Bạn cũng có thể sử dụng phương pháp cắt để lấy các ô đầu ra trong một phạm vi.

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)