ループのelseとtryのelse
Pythonはかなり*ふつう*の言語だなあという気がします。なので、「嫌い」という理由でPythonを使わない人はいたとしても、「わからない、難しい」という理由でPythonを使わない人は少ないのではないかと思います。
そんな*ふつう*の言語Pythonの中でも、ちょっと驚いた点といえば、ループにelseがあることと、tryにelseがあることです。他の言語にあるのかな。
ループのelse
ループのelseは、ループを正常に抜けた時にだけ実行します*1。正常に抜けた時というのは、ループの条件式が偽になって抜けた時なんかのことで、正常じゃないというのはbreakで抜けた時です。
>>> for i in range(3): print i else: print "end." 0 1 2 end. >>> for i in range(3): print i break else: print "end." 0 >>>
(これがどんな時に便利か、を考えてあとで書く)