IPython で変数をクリアする方法

  1. IPython のすべての変数をクリアするには%reset を使う - ユーザの確認が必要
  2. IPython で%reset -f を使ってすべての変数を消去する - ユーザ確認なし
  3. IPython の特定の変数をクリアするために del を使う
  4. magic('reset -sf') を使ってスクリプトを実行する前に変数をクリアする
  5. 結論

このチュートリアルでは、IPython で変数をクリアする方法について説明します。IPython で同じスクリプトを再実行すると、以前の変数が IPython のメモリに残っているために異常な動作をすることがよくあります。このような状況に陥らないように、IPython から変数をクリアする方法を説明します。

IPython のすべての変数をクリアするには%reset を使う - ユーザの確認が必要

IPython のすべての変数をクリアする最も簡単な方法は、IPython のコンソールで %reset を実行することです。このコマンドを実行すると、変数を削除する前に確認画面が表示されます。以下の例はこれを示しています。

%reset

出力:

Once deleted, variables cannot be recovered. Proceed (y/[n])? y

y と入力するとすべての変数が削除されます。

IPython で%reset -f を使ってすべての変数を消去する - ユーザ確認なし

IPython のすべての変数をクリアするために %reset -f を使うこともできます。%reset -f との違いは、%reset -f がユーザの確認を必要としないことです。以下の例はこれを示しています。

%reset -f

IPython の特定の変数をクリアするために del を使う

特定の変数をクリアしたい場合は、del variable_name を使ってクリアすることができます。以下の例はこれを示しています。

del variable1

1つ以上の変数を削除するには、以下のようにします。

del variable1, variable2, variable3

magic('reset -sf') を使ってスクリプトを実行する前に変数をクリアする

手動での削除作業は余分なオーバーヘッドを追加し、毎回行う必要があります。スクリプトを実行する前にメモリ上のすべての変数がクリアされていることを確認する必要がある場合は、実行しているスクリプトにコード行をいくつか追加するのが良いアプローチでしょう。以下の例はこれを示しています。

from IPython import get_ipython
get_ipython().magic('reset -sf')

#Your code

結論

IPyhton で変数をクリアする方法をいくつか説明しました。%reset を使うと、ユーザの確認なしにすべての変数をクリアすることができ、%reset -f を使うと、ユーザの確認なしにすべての変数をクリアすることができ、del variable_name を使うと特定の変数を削除することができます。

また、スクリプトを実行する前にすべての変数をメモリからクリアする方法についても説明しました。要件に応じて、どちらかの方法を選択することになります。

comments powered by Disqus