3章デバッグとプロファイル
前章で説明した対話機能に加え、予想以上に実行が遅い場合やバグの追跡など、実行中のコードを探索し理解する方法をIPythonは数多く提供します。この章では、そのいくつかを説明します。
3.1 エラーとデバッグ
コードの開発とデータ解析には常に多少の試行錯誤が必要であり、IPythonはこのプロセスを効率化する機能を提供します。この節では、Pythonの例外レポートを制御するためのオプションをいくつか簡単に説明し、続いてコードのエラーをデバッグするための機能を説明します。
3.1.1 例外の制御:%xmode
Pythonコードでエラーが起きると、ほとんどの場合で例外が発生します。インタープリタがこれらの例外の1つに当たると、エラーの原因に関する情報はPython内からアクセスできるトレースバック(traceback)に残ります。IPythonではMagicコマンド%xmode
を使用して例外が発生した際に表示される情報の量を制御できます。次のコードを考えてみましょう。
In [1]: def func1(a, b): return a / b def func2(x): a = x b = x - 1 return func1(a, b) In [2]: func2(1) ZeroDivisionError Traceback (most recent call last) <ipython-input-2-b2e110f6fc8f> in <module>() ----> 1 func2(1) <ipython-input-1-d849e34d61fb> in func2(x) 5 a = x 6 b = x - 1 ----> 7 return func1(a, ...
Get Pythonデータサイエンスハンドブック 第2版 ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.