Python 的逻辑运算符优先级与 C 和 C 有何不同?

DDD
发布: 2024-11-11 15:21:03
原创
192 人浏览过

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. 将 and 应用于 False 和 c。由于有一个操作数为 False,因此结果为 False。

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

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