Nhận kết quả cuối cùng trong shell Python tương tác


157

Trong nhiều hệ thống toán học tượng trưng, ​​chẳng hạn như Matlab hoặc Mathicala, bạn có thể sử dụng một biến như Anshoặc %để lấy giá trị tính toán cuối cùng. Có một cơ sở tương tự trong vỏ Python?


11
Ngay cả trong Python, câu trả lời cuối cùng sẽ là 42.
Tomalak

3
42? Mọi người đều bỏ lỡ cơ hội tham khảo Incantato trước!
amindfv

[trong] >>> _1 [ra] >>> 42? Mọi người đều bỏ lỡ cơ hội tham khảo Incantato trước!
phái

Câu trả lời:


236

Gạch dưới.

>>> 5+5
10
>>> _
10
>>> _ + 5
15
>>> _
15

19
Nó chỉ hoạt động trong vỏ tương tác, mặc dù. Đừng dựa vào nó cho các kịch bản.
John Fouhy

5
Ngoài ra, nó không hoạt động nếu biến _đã được gán trước đó. Điều này không có gì lạ, vì biểu tượng này cũng được sử dụng cho các biến số bỏ đi (xem stackoverflow.com/questions/5893163/iêu )

3
Yay, mảnh cuối cùng. Với cái này tôi có thể sử dụng python tương tác làm máy tính của mình.
Jaakko

81

Chỉ để ghi lại, ipython tiến thêm một bước nữa và bạn có thể truy cập mọi kết quả với _ và giá trị số của nó

In [1]: 10
Out[1]: 10

In [2]: 32
Out[2]: 32

In [3]: _
Out[3]: 32

In [4]: _1
Out[4]: 10

In [5]: _2
Out[5]: 32

In [6]: _1 + _2
Out[6]: 42

In [7]: _6
Out[7]: 42

Và cũng có thể chỉnh sửa phạm vi dòng với macro% ed:

In [1]: def foo():
   ...:     print "bar"
   ...:     
   ...:     

In [2]: foo()
bar

In [3]: %ed 1-2

4
Tìm thấy _____tình cờ cũng như trong 1.2.1.
Ciro Santilli 郝海东 冠状 病 事件

9

IPython cho phép bạn vượt ra ngoài dấu gạch dưới đơn _với double ( __) và ba dấu gạch dưới ( ___), trả về kết quả của các lệnh thứ hai và thứ ba đến cuối cùng.

Ngoài ra, bạn cũng có thể sử dụng Out[n], đâu nlà số lượng đầu vào đã tạo đầu ra:

In [64]: 1+1
Out[64]: 2

...

In [155]: Out[64] + 3
Out[155]: 5

Để biết thêm thông tin, hãy xem https://jakevdp.github.io/PythonDataScienceHandbook/01.04-input-output-history.html .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.