Python 中 NOT、AND 或 OR 的逻辑运算符(运算顺序)的优先级

新手上路,请多包涵

据我所知,在C&C++中,NOT AND & OR的优先顺序是NOT>AND>OR。但这在 Python 中似乎并不以类似的方式工作。我尝试在 Python 文档中搜索它但失败了(我猜我有点不耐烦。)。有人可以帮我解决这个问题吗?

原文由 Akshar Gupta 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 746
1 个回答

根据 Operator precedence 的文档,它不是,AND,OR,从最高到最低

这是完整的优先级表,从最低优先级到最高优先级。一行优先级相同,分组从左到右

 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. **
14. await x
15. x[index], x[index:index], x(arguments...), x.attribute
16. (expressions...), [expressions...], {key: value...}, {expressions...}

原文由 Kyle Heuton 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题