アメリエフの技術ブログ

Amelieff Staff Blog

なにもしない

私はずっと、緩い言語の極致であるPerlを使ってきたので、
同じ感覚でPythonを使っているとインデントや型などが適当で、
「ちゃんとしろ」と怒られることが多いです。

私がPythonでおもしろいと思ったのは、
「なにもしない」というpassという命令文があることです。

向こうから来たのが友達なら「Hello!」と話しかけ、
ライオンなら走って逃げ、それ以外ならなにもしない
という処理をPythonで書いてみました。

#!/usr/bin/env python
import sys
he = "friend"

if he == "friend":
__print "Hello!"
elif he == "lion":
__sys.exit("Escape!")
else:
__# do nothing



これを実行するとエラーになります。
elseの中に命令がないためです。

Pythonは構文の構造にストイックなので、
「elseがあるんだから中になにか書きなさいよ!」と怒るのです。

次のように、elseの中に「pass」を書けば実行できるようになります。

if he == "friend":
__print "Hello!"
elif he == "lion":
__sys.exit("Escape!")
else:
__# do nothing
__pass



「なにもしない」ことまでいちいち宣言するなんて、
Pythonは律儀だなあと思いました。