2015/9/5 pythonメモ
iPythonのステップ実行
スクリプト言語で個人的に結構ストレスだったのはIDEによるデバッガが乏しいところでした。 (自分が知らなかっただけですが。。基本printfデバッグしてました。。)
デバッグ方法は以下のとおり。
- 以下のコードを宣言しておく。
(ここから転載。)
import sys def set_trace(): from IPython.core.debugger import Pdb Pdb(color_scheme='Linux').set_trace(sys._getframe().f_back) def debug(f, *args, **kwargs): from IPython.core.debugger import Pdb pdb = Pdb(color_scheme='Linux') return pdb.runcall(f, *args, **kwargs)
ブレークポイントとしたいところでset_trace()関数を呼び出す。
以下のコマンドでステップ実行が可能。もちろん変数の中身を見たりなども可能。
ctrl+qでブレークポイントから抜け出せる。
numpy arrayの比較
arrayの中身が同一か比較するにはこうする。
if np.equal(array1, array2).all(): print "equal" else: print "not equal"