Re: Python の嵌りどころ
http://d.hatena.ne.jp/jYoshiori/20080410/1207828397
論理演算子がboolを返さないのはJavaに慣れた目で見ると違和感があるのだろうとは思いますが、LLではわりと普通のことです。
C:\>perl -e "print 1 && 2" 2 C:\>ruby -e "print 1 && 2" 2 C:\>python -c "print 1 and 2" 2
Javaでも「false || x」や「true && x」はxを返しますよね。xがbool以外の場合に型エラーになるので返り値もtrue/falseに限られるわけですが。
あとboolに変換するために三項演算子を使う説明になっていますが、boolを使えばOKです。
>>> bool(1) True >>> bool(0) False