Python でこの文をどのように解釈すればよいですか (演算子の優先順位に関して)?
c = not a == 7 and b == 7
c = not (a == 7 and b == 7)
またはc = (not a) == 7 and b == 7
?_
ありがとう
ドキュメントによると、順序は最低優先度 (最小バインディング) から最高優先度 (最大バインディング) です。
and
not
==
したがって、式not a == 7 and b == 7
は次のように評価されます。
((not (a == 7)) and (b == 7))
^ ^ ^ ^
second first third first
つまり、評価ツリーは次のようになります。
and
/ \
not ==
| / \
== b 7
/ \
a 7
最後に、式の値を に代入しc
ます。