Python bool 运算符的优先级规则

标签 python boolean-expression short-circuiting operator-precedence

当我评估以下表达式时:

1 或 (1/0) 和 1

要遵循什么规则(优先级、短路评估等)才能得到答案

最佳答案

b or everything_else 被定义为在 b 为 true 时返回 b,而不评估任何内容。由于您的第一个 1 是 true-ish,因此您的 1/0 永远不会被评估,因此不会出现错误。我所说的“true-ish”是指 Python 认为为 true 的任何值,而不仅仅是 True bool 值。尝试用 True 或 [2] 代替第一个 1 的表达式,看看我的意思。

关于Python bool 运算符的优先级规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39361258/

相关文章:

python - 在 python 中的 bytes() 调用中用方括号括住整数意味着什么?

javascript - "true"即使值为假,评估仍在运行

python - Google 相册 API - 新版本?

python - 在 Python 3.5 的同一行中接受 3 个输入

python - 无法在树莓派上安装uinput

c# - 将 bool 表达式字符串转换为 .NET 代码

java - 如何读取仅由空格分隔的一行?

c - C语言中的短路评估是什么?

php - 如何在 Twig 中检查 null?

matlab - 如何在 MATLAB 中调用短路逻辑运算符作为函数?