Dapatkan hasil terakhir dalam shell Python interaktif


157

Dalam banyak sistem matematika simbolis, seperti Matlab atau Mathematica, Anda dapat menggunakan variabel seperti Ansatau %untuk mengambil nilai yang dihitung terakhir. Apakah ada fasilitas serupa di shell Python?


11
Bahkan dengan Python, jawaban terakhirnya adalah 42.
Tomalak

3
42? Semua orang melewatkan kesempatan untuk referensi Incantato Sebelumnya!
amindfv

[di] >>> _1 [keluar] >>> 42? Semua orang melewatkan kesempatan untuk referensi Incantato Sebelumnya!
gregory

Jawaban:


236

Menggarisbawahi.

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

19
Ini hanya bekerja di shell interaktif. Jangan mengandalkan itu untuk skrip.
John Fouhy

5
Selain itu, tidak berfungsi jika variabel _telah ditetapkan sebelumnya. Ini tidak biasa, karena simbol ini juga digunakan untuk variabel throwaway (lihat stackoverflow.com/questions/5893163/… )

3
Yay, bagian terakhir. Dengan ini saya dapat menggunakan python interaktif sebagai kalkulator saya.
Jaakko

81

Sebagai catatan, ipython mengambil langkah ini lebih jauh dan Anda dapat mengakses setiap hasil dengan _ dan nilai numeriknya

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

Dan dimungkinkan untuk mengedit rentang baris dengan% ed makro juga:

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

In [2]: foo()
bar

In [3]: %ed 1-2

4
Ditemukan __dan ___kebetulan juga di 1.2.1.
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.