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