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中文网其他相关文章!