Jupyterで特定のセルの入力値や出力値を別のセルから参照する際の短いライトな小ネタです。
使うもの
- Python 3.9.0
- Jupyter (notebook==6.4.7)
※本記事ではVS Code上のJupyterを使っていきますが普通のJupyter notebookやJupyterLabなどでも動作すると思われます。
直前のセルの出力値を取得する
アンダースコアの記号(_
)を特定のセルで実行すると、直前に実行したセルの出力(notebookであればOut [n]:
といった表示になっている部分)を取ることができます。
セル1
x: int = 10 + 20
x
30
セル2
y: int = x + 30
y
60
セル3
_
60
特定のセルの出力値を取得する
_n
(nは1以降の整数)といったようにアンダースコアの後に数字を指定することで任意のセルの出力値を取得することができます。例えば_1
とすれば1番目の実行セルの出力値([1]
やOut [1]:
といった表記になっているセルの値)を参照でき、_2
とすれば2番目の実行セルの出力値([2]
やOut [2]:
といった表記になっているセルの値)を参照することができます。
セル1
x: int = 10 + 20
x
30
セル2
y: int = x + 30
y
セル3
_1
30
セル4
_2
60
特定のセルの入力値を取得する
今度は出力ではなく特定のセルの入力値を取得してみます。_in
(nは1以降の整数)といったように、アンダースコアと整数の間にinputとしてのi
を挟みます。例えば1番目のセルであれば_i1
、2番目のセルであれば_i2
と指定します。
セル1
x: int = 10 + 20
x
30
セル2
y: int = x + 30
y
セル3
_i1
'x: int = 10 + 20\nx'
セル4
_i2
'y: int = x + 30\ny'
これで入力値を文字列として取得することができました。
参考文献・参考資料