Pythonのアサーション(assert)
http://d.hatena.ne.jp/JavaBlack/20130324/p1#20130324f7 を読んでいつものようにドキリとしたことに加え、昨日たまたまUnitテストについて少し書いたので、今日はアサーションについて。
>>> def add(num): ... assert isinstance(num, int) ... return num + 1 ... >>> add(3) 4 >>> add(0.5) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 2, in add AssertionError
ちなみに、AssertionError発生時にメッセージも出せる。
>>> def add(num): ... assert isinstance(num, int), "type error" ... return num + 1 ... >>> add(0.5) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 2, in add AssertionError: type error
「カレーなる辛口Javaな転職日記」で突っ込みが入る記事に共通しているのは、
自分の身の回りでの慣習(だいたい古い・イケてない)を一般的な事実のように書いていることだと思う。
愚者は経験から〜とよく言うが、身の回りの出来事だけで結論をだすのはやはりまずい。
もっとよくできるんじゃねーの?という欲求は常に持って、少し離れたところもキョロキョロし続けたいなぁ。
あと基本的な情報はしっかりしたソース(ちゃんとした本etc)から得ること。
少しでもドキリとしたら大急ぎで勉強して、少なくとも一応知ってますよーという顔ができるようにしよう。