出力 (出力セル X) を生成する IPython ノートブック (入力セル X) で実行されるインポートされた関数があります。関数の実行後、さらにコードがいくつかあります (入力セル X にもあります)。そのコードが現在の出力 (出力セル X) を取得する方法はありますか?
私が達成しようとしていることを行うには、他の方法があるかもしれません。しかし、上記が可能かどうか興味があります。
出力 (出力セル X) を生成する IPython ノートブック (入力セル X) で実行されるインポートされた関数があります。関数の実行後、さらにコードがいくつかあります (入力セル X にもあります)。そのコードが現在の出力 (出力セル X) を取得する方法はありますか?
私が達成しようとしていることを行うには、他の方法があるかもしれません。しかし、上記が可能かどうか興味があります。
IPython の出力キャッシュ システムでは、いくつかのグローバル変数が定義されています。
_
] (単一のアンダースコア): Python のデフォルトのインタープリターのように、以前の出力を保存します。__
] (2 つのアンダースコア): 次の前。___
] (アンダースコア 3 つ): 次から次へ、前へ。さらに、各出力x
が作成された後_<x>
、出力を値とする変数が作成されます。例えば:
In [12]: lst = [i for i in range(11)]
In [13]: lst
Out[13]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
In [14]: _13
Out[14]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
また、興味がある場合_i<x>
は、入力セルの内容が含まれていますx
。
In [15]: _i12
Out[15]: 'lst = [i for i in range(11)]'
_
またはを使用して、セル X の出力を取得できますOut[X]
。そのような:
In [1]: 2 + 35
Out[1]: 37
In [2]: _ + 3
Out[2]: 40
In [3]: lst = [i for i in range(5)]
lst
Out[3]: [0, 1, 2, 3, 4]
In [4]: Out[1] #Using the output of Cell 1
Out[4]: 37
In [5]: Out[3][1] #Using the output of Cell 3
Out[5]: 1
ここで、前のセルの出力を取得する場合は、を使用できます_
。2 つの ( __
) または 3 つのアンダースコア ( ___
) を使用して、それぞれ次の前のセルと次の前のセルの出力を参照することもできます。
ただし、ノートブックに多くのセルがあり、特定のセルを参照したい場合Out[X]
は便利です。