« Google Readerの新機能 --- personalized trends | メイン | Googleのパーソナライズド・ホームを晒してみる »

Pythonでの数値比較

変数 a について、5 より大きく 10 より小さいときに 'true' という文字を出力したいとき、それぞれの数値について評価を行います。

例えば Java であれば、こんな感じ。

if( 5 < a && a < 10){
System.out.println("true");
}

それが Python ではこんな風に書けるようです。

a = 10
if 5 < a < 15:
print 'true'

'ture'が出力。

a = 10
if 5 < a < 15:
print 'true'

何も出力されない。


こんな風に書いてもちゃんと評価されます。

a = 10
if 5 < a < 15 < 20:
print 'true'

内部的には左から順番に評価されているのでしょうか。

コードの見た目は分かりやすくなりますが、なんとなく気持ちが悪い部分もあったり。