2008-10-14 20 views
109

En muchos sistemas matemáticos simbólicos, como Matlab o Mathematica, puedes usar una variable como Ans o % para recuperar el último valor calculado. ¿Hay una instalación similar en el shell de Python?Recibe la última respuesta

+5

Incluso en Python, la última respuesta será 42. – Tomalak

+2

42? ¡Todos perdieron la oportunidad de tener una referencia de Prior Incantato! – amindfv

Respuesta

168

Underscore.

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

Sin embargo, solo funciona en el shell interactivo. No confíe en él para las secuencias de comandos. –

+1

Además, no funciona si la variable '_' ha sido asignada previamente. No es raro, ya que este símbolo también se usa para variables desechables (consulte https://stackoverflow.com/questions/5893163/what-is-the-purpose-of-the-single-underscore-variable-in-python) –

53

Sólo para que conste, ipython va un paso más allá y se puede acceder a cada resultado con _ y su valor numérico

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 

Y es posible editar los rangos de líneas con el ed% también macro:

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

In [2]: foo() 
bar 

In [3]: %ed 1-2 
+1

Encontrado '__' y' ___ 'por casualidad también en 1.2.1. –

Cuestiones relacionadas