June 2026
Intermediate
804 pages
8h 21m
Japanese
プログラムのテストはバグの存在を示すことはできるが、バグがないことを示すことは決してできない。
—— エドガー・ダイクストラ
ごくわずかな変更を加えただけでもプログラムは動かなくなる。Pythonには静的言語のような型チェックがないので、楽になる部分もあるが、困った結果を招きかねない。テストは欠かせない。
プログラムの最も単純なテスト方法はprint()を追加することである。インタプリタのREPL(Read-Evaluate-Print Loop)のおかげで、コードを編集したらただちに変更点をテストできる。しかし、本番コードにprint()を残すわけにはいかない。忘れずに全部取り除かなければならない。
テストプログラムを作る前に、まずコードチェッカーを実行する。最もよく使われている†1のはpylint(https://www.pylint.org)とpyflakes(https://bit.ly/pyflakes)である。どちらもpipでインストールできる。
[†1] 監訳注:現在はRuffに内包されているのでRuffを推奨する。
$ pip install pylint $ pip install pyflakes
コードエラー(値を代入する前の変数の参照など)やスタイル上の誤りをチェックする。例15-1にバグとスタイル上の問題がある無意味なプログラムを示す。
例15-1 style1.py
a = 1 b = 2 print(a) print(b) print(c)
このコードに対するPylintの出力を次に示す。
$ pylint style1.py ************* Module style1 style1.py:1:0: ...
Read now
Unlock full access