5

大きなリストを返す高価な操作 foo() を実行したとしますが、変数内に foo() の出力を保存するのを忘れていました。

もう一度 foo() を実行すると、別の出力が得られると仮定しましょう。

しかし、最初に foo() を実行したときの出力が本当に必要です。

実際には、最後のコマンドの出力を格納するバッファがあるかどうかを尋ねています。これを読み取ることができますか?

4

2 に答える 2

5

_(単一のアンダースコア)は、Windows用のpython 3で機能しますが、他のバージョンでも機能するはずです:

>>> 1 + 1
2
>>> x = _
>>> x
2
于 2014-03-10T20:42:13.213 に答える
2

_文字 (単一のアンダースコア) は、Python のすべてのバージョンで最後の評価の出力として定義されますが、対話型シェルでのみ定義されます。参照:ドキュメント

例:

>>> def foo():
>>>     return 3
>>> foo()
3
>>> _ + 1
4

あなたの質問に基づいて、対話型シェルでこれを行う方法だけを気にしているようです。完全を期すために、上記の機能は非対話型シェルには定義されていません。

于 2014-03-11T03:44:43.953 に答える