首頁  >  文章  >  後端開發  >  Python 中邏輯運算子優先權如何運作?

Python 中邏輯運算子優先權如何運作?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-17 18:45:02696瀏覽

How Does Logical Operator Precedence Work in Python?

Python 中的邏輯運算子優先權

在程式語言中處理邏輯運算子時,理解它們的優先權和運算順序至關重要。在 Python 中,運算子 NOT、AND 和 OR 遵循特定的層次結構,該層次結構控制它們計算表達式的順序。

優先順序:

與優先順序相反C 和C 中的序列(NOT > AND > OR),Python 有自己獨特的順序:

1。不是
2。以及
3。 OR

從最高優先級到最低優先級,先計算 NOT,然後是 AND,然後是 OR。這表示 NOT 運算優先於 AND 和 OR,AND 運算優先於 OR。

範例:

考慮下列Python 表達式:

result = not a and b or c

依照優先順序,表達式會如下求值:

  1. 檢查a 是否為真。
  2. 如果 a 為 False,則 not a 為 True 。否則為 False。
  3. 如果 not a 的結果為 True,且 b 的計算結果為 b。否則為 False。
  4. 如果 and b 的結果為 True,則整個表達式的計算結果為 True。否則,計算 or c 的結果。
  5. 檢查 c 的真實性。
  6. 如果 c 為 True,則整個表達式的計算結果為 True。否則為 False。

完整優先級表:

有關 Python 中運算符優先級的完整列表,請參閱下表:

優先權 運算子 0 賦值(=) 1 Lambda 函數(lambda) 2條件表達式(if-else)
Precedence Operators
0 Assignment (=)
1 Lambda functions (lambda)
2 Conditional expression (if-else)
3 Logical OR (or)
4 Logical AND (and)
5 Logical NOT (not)
6 Comparison operators (<, <=, >, >=, !=, ==)
7 Bitwise OR ( )
8 Bitwise XOR (^), Bitwise AND (&)
9 Shift operators (<<, >>)
10 Addition ( ), Subtraction (-)
11 Multiplication (*), Division (/), Floor division (//), Modulo (%)
12 Unary plus ( ), Unary minus (-), Bitwise NOT (~)
13 Exponentiation (**)
14 Coroutine creation (async with)
15 Indexing and slicing ([...], [...]), Function calls, Attribute access
16 Parentheses, Square brackets, Braces, Set literals
3 邏輯OR(或) 4 邏輯與(與) 5 邏輯NOT(非) 6 比較運算子(、>=、!=、==) 7 按位或( ) 8位元異或(^)、位元與(&) 9 移位運算子( ;>) 10 加法( )、減法(-) 11 乘法(*)、除法(/)、下取整除法(//)、模(%) 12 一元加( )、一元減(-)、位元非(~) 13 求冪(**) 14 協程建立(非同步) 15 索引和切片([... ]、[...])、函數呼叫、屬性存取 16 圓括號、方括號、大括號、設定文字

以上是Python 中邏輯運算子優先權如何運作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn