1

Python でこの文をどのように解釈すればよいですか (演算子の優先順位に関して)?

c = not a == 7 and b == 7

c = not (a == 7 and b == 7)またはc = (not a) == 7 and b == 7?_

ありがとう

4

2 に答える 2

2

ドキュメントによると、順序は最低優先度 (最小バインディング) から最高優先度 (最大バインディング) です。

  1. and
  2. not
  3. ==

したがって、式not a == 7 and b == 7は次のように評価されます。

((not (a == 7)) and (b == 7))
   ^     ^       ^     ^
second first   third first

つまり、評価ツリーは次のようになります。

      and
     /   \
   not   ==
    |   /  \
   ==   b  7
  /  \
  a  7

最後に、式の値を に代入しcます。

于 2013-09-25T16:09:50.070 に答える