Pythonってやっぱりナニゲにすごいかも

最近は何をするにもMatlabなのです。信号処理プログラムを作るのがすごく簡単だし、統計処理もできちゃう。プログラムを作るのに要する時間を考えれば、実行速度がちょっとくらい遅くたって我慢できるし、我慢できなかったらコンパイラを通してしまえばいいのです。そんなMatlabの欠点は、ライセンスが高いこと。学生のうちは学割が効きますが、それでもやはり高いのです。

シェルコマンドの実行をするのにはMatlabは(出来ないことはないですが)ちょっと向いていないので、Pythonも使っています。NumPyという数値解析ライブラリとFFTWラッパーをつけてしまえばMatlabと同じような信号処理なこともできてしまうことに気づきました。統計関連が弱いですが、GUIも作れるし、なんといっても構文が魅力です。そんなときにメーリングリストに流れていた以下のメッセージが目にとまりました。

pythonのelseはif以外にも色々なところで使うことができます。

for シーケンス:
  文1
  if 条件1:
    break
else:
  文2

となっていると、シーケンスを回しきった場合にelse節に処理が移ります。
つまり、シーケンスを全て回したのに条件1を満たせなかった場合、文2が実行されます。

if、forの他にelseが使える構文としては、while、try があるみたいです。

そんなの知りませんでした。分かりやすいのか分かりにくいのか・・・便利そうではありますが。

そういえばMatlabばかり使っているので、JavaやCでプログラムが書けなくなりつつあります。学士はMIDIメッセージの解析とVRMLの自動生成をやったし、修士号はビット演算をガシガシやったし、硬派なコンピュータ理工学を進んでいたはずだったんだけど・・・?