2015/9/5 pythonメモ

iPythonのステップ実行

スクリプト言語で個人的に結構ストレスだったのはIDEによるデバッガが乏しいところでした。 (自分が知らなかっただけですが。。基本printfデバッグしてました。。)

デバッグ方法は以下のとおり。

  1. 以下のコードを宣言しておく。

(ここから転載。)

qiita.com

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)
  1. ブレークポイントとしたいところでset_trace()関数を呼び出す。

  2. 以下のコマンドでステップ実行が可能。もちろん変数の中身を見たりなども可能。



ctrl+qでブレークポイントから抜け出せる。

numpy arrayの比較

arrayの中身が同一か比較するにはこうする。

if np.equal(array1, array2).all():
    print "equal"
else:
    print "not equal"