Obtenha o último resultado no shell Python interativo


157

Em muitos sistemas matemáticos simbólicos, como Matlab ou Mathematica, você pode usar uma variável como Ansou %para recuperar o último valor calculado. Existe um recurso semelhante no shell Python?


11
Mesmo em Python a última resposta será 42.
Tomalak

3
42? Todo mundo perdeu a oportunidade de fazer uma referência ao Prior Incantato!
amindfv

[in] >>> _1 [out] >>> 42? Todo mundo perdeu a oportunidade de fazer uma referência ao Prior Incantato!
Gregory

Respostas:


236

Sublinhado.

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

19
Porém, ele funciona apenas no shell interativo. Não confie nele para scripts.
John Fouhy

5
Além disso, não funciona se a variável _tiver sido atribuída anteriormente. Não é incomum, pois este símbolo também é usado para descartáveis variáveis (ver stackoverflow.com/questions/5893163/... )

3
Yay, a peça final. Com isso eu posso usar python interativo como minha calculadora.
21419 Jaakko

81

Apenas para constar, o ipython dá um passo adiante e você pode acessar todos os resultados com _ e seu 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

E também é possível editar intervalos de linhas com a macro% ed:

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

In [2]: foo()
bar

In [3]: %ed 1-2

4
Encontrado __e ___por acaso também em 1.2.1.
Ciro Santilli # 8/16

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.