Condition Priority
andとorとnotが複雑に組み合わさった場合どうなるの?
if not 自分==バカ and not 自分==天才:
は「自分はバカでも天才でもない」、のか
「バカで天才じゃないわけじゃない」、のか。
比較演算はブール演算子 and や or で組み合わせられます。また、比較演算 (あるいは何らかのブール式) の結果の否 (negate) はnot でとれます。これらの演算子は全て、比較演算子よりも低い優先順位になっています。 A and not B or C と (A and (not B)) or C が等価になるように、ブール演算子の中で、not の優先順位が最も高く、or が最も低くなっています。もちろん、丸括弧を使えば望みの組み合わせを表現できます。
算術演算子と一緒で優先度があるわけね。なんだ。
今まで調べるのめんどくさくてカッコで適当に済ましてましたごめんなさい。
Posted: 1月 9th, 2008 under Python.