ホームページ  >  記事  >  バックエンド開発  >  Python の論理演算子の優先順位は C や C とどのように異なりますか?

Python の論理演算子の優先順位は C や C とどのように異なりますか?

DDD
DDDオリジナル
2024-11-11 15:21:03192ブラウズ

How does Python's logical operator precedence differ from C and C  ?

Python における論理演算子 (NOT、AND、OR) の優先順位

論理演算子の優先順位が順序に従う C および C とは対照的です。いいえ >そして >または、Python の優先順位はわかりにくいように思えるかもしれません。

説明

Python では、論理演算子の優先順位は実際には次のとおりです。

NOT > ;そして > OR

これは、NOT が AND よりも優先順位が高く、AND が OR よりも優先順位が高いことを意味します。

優先順位テーブル

Python の演算子の優先順位を包括的に理解するには、完全な優先順位の表を次に示します。

Precedence Operator
0 :=
1 lambda
2 if - else
3 or
4 and
5 not x
6 in, not in, is, is not, <, <=, >, >=, !=, ==
7
8 ^
9 &
10 <<, >>
11 , -
12 *, @, /, //, %
13 x, -x, ~x
14 **, await x
15 x[index], x[index:index], x(arguments...), x.attribute
16 (expressions...), [expressions...], {key: value...}, {expressions...}

次の式を考えてみましょう。

x = not (a or b) and c

優先順位テーブルを使用して、式を次のように評価します。

  1. a または b を評価すると、結果は True になります。
  2. 適用すると True にならず、結果は False になります。
  3. c を評価します。これは True または False のいずれかになります。
  4. False と c に と を適用します。 1 つのオペランドが False であるため、結果は False になります。

以上がPython の論理演算子の優先順位は C や C とどのように異なりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。