inc
JupyterNotebookでマクロを定義しました。別のセルからマクロを実行できます。ただし、マクロはforループで実行できません。
[1]
x = 0
[2]
x += 1
[3]
%macro inc 2
[4]
inc
[5]
x
出力2
[6]
for _ in range(10): inc
[7]
x
それでも2を出力します。
私が今思いついた最高のものはrun_cell
方法を使うことです
まず、現在のインタラクティブなIpythonシェルを取得する必要があります get_ipython
ip = get_ipython()
for _ in range(5): ips.run_cell('inc')
これは私を完全に満足させる解決策ではありませんが、他の誰かがもっと良いものを追加できるかもしれません。
注:以下の解決策は古いもので機能します
Ipython
呼び出し可能として実行してみてください。
for _ in range(10): inc()
Ipythonマクロはのインスタンスです IPython.core.macro.Macro
ドキュメントには、履歴のチャンクを変数に格納する単純なオブジェクトであると記載されています。そして、これは本当です。
In [20]: inc.__dict__
Out[20]: {'value': u'x += 1\n'}
また読むことができます:
マクロは、IPythonの文字列を実行する単なる呼び出し可能オブジェクトです
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加