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
優先順位テーブルを使用して、式を次のように評価します。
以上がPython の論理演算子の優先順位は C や C とどのように異なりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。