Python 中逻辑运算符优先级如何工作?

Mary-Kate Olsen
发布: 2024-11-17 18:45:02
原创
693 人浏览过

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 中运算符优先级的完整列表,请参阅以下内容table:

优先级 运算符
0 0 运算符
0 td> 赋值 (=)
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 逻辑 AND (and)
5 逻辑 NOT(非)
6 比较运算符(、>=、!=、 ==)
7 按位或 ( )
8 按位异或 (^)、按位与 (&)
9 移位运算符 (>)
10 加法( )、减法(-)
11 乘法(*)、除法(/)、取整除法(//)、取模(%)
12 一元加( )、一元减 (-)、按位取非 (~)
13 求幂 (**)
14 协程创建(异步)
15 索引和切片([...] , [...])、函数调用、属性访问
16 圆括号、方括号、大括号、设置文字

以上是Python 中逻辑运算符优先级如何工作?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板