In many symbolic math systems, such as Matlab or Mathematica, you can use a variable like Ans or % to retrieve the last computed value. Is there a similar facility in the Python shell?
- 
        15Even in Python the last answer will be 42.Tomalak– Tomalak2008-10-14 04:40:02 +00:00Commented Oct 14, 2008 at 4:40
- 
        342? Everyone missed the opportunity for a Prior Incantato reference!amindfv– amindfv2011-09-26 02:44:34 +00:00Commented Sep 26, 2011 at 2:44
- 
        1[in]>>> _1 [out]>>> 42? Everyone missed the opportunity for a Prior Incantato reference!gregory– gregory2019-02-28 19:22:27 +00:00Commented Feb 28, 2019 at 19:22
                    
                        Add a comment
                    
                 | 
            
                
            
        
         
    3 Answers
>>> 5+5
10
>>> _
10
>>> _ + 5
15
>>> _
15
3 Comments
John Fouhy
 It only works in the interactive shell, though.  Don't rely on it for scripts.
  Additionally, it doesn't work if the variable 
  _ has been previously assigned. It's not uncommon, as this symbol is also used for throwaway variables (see stackoverflow.com/questions/5893163/…)Jaakko
 Yay, the final piece. With this I can use interactive python as my calculator.
  Just for the record, ipython takes this one step further and you can access every result with _ and its numeric value
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
And it is possible to edit ranges of lines with the %ed macro too:
In [1]: def foo():
   ...:     print "bar"
   ...:     
   ...:     
In [2]: foo()
bar
In [3]: %ed 1-2
1 Comment
Ciro Santilli OurBigBook.com
 Found 
  __ and ___ by chance as well in 1.2.1.IPython allows you to go beyond the single underscore _ with double (__) and triple underscore (___), returning results of the second- and third-to-last commands.
Alternatively, you can also use Out[n], where n is the number of the input that generated the output:
In [64]: 1+1
Out[64]: 2
...
In [155]: Out[64] + 3
Out[155]: 5
For more info, see https://jakevdp.github.io/PythonDataScienceHandbook/01.04-input-output-history.html .

