菜de嚣张 发表于 2021-1-27 20:26:47

python中3 or 0 输出3是啥意思?

python中3or 0 输出3是啥意思?

sunrise085 发表于 2021-1-27 20:49:12

逻辑运算有短路运算功能
3 or 0 的运算过程,先判断3是否为True,结果为True,那么则不再判断or后面的内容,直接返回3

若or前的判断结果为False,那么则会判断or后面的逻辑结果,并返回后者。

可以看看这个帖子

suchocolate 发表于 2021-1-27 20:49:49

小甲鱼《第011讲:短路逻辑和运算符优先级》:
https://fishc.com.cn/forum.php?mod=viewthread&tid=150253&highlight=%B6%CC%C2%B7%C2%DF%BC%AD

不能懒 发表于 2021-1-27 20:49:56

or语句,or左侧是非0优先输出左边数字,如是0则输入右边数字,都是0肯定是0

Twilight6 发表于 2021-1-27 20:55:39


or 逻辑符,简单理解为返回第一个 or 运算符遇到条件为真的数值

这里 3 or 0 ,因为非 0 数都视为布尔类型值的 True 所以这里可以看作 True or False

此时 or 返回自己条件中从左到右的第一个数值,即返回 3

上面只是通俗理解,实际更多时候是涉及到短路逻辑的问题

举个例子: 2 or 3会返回 2 ,但为什么不返回 3 呢?

因为 or 只要一个条件为 True,那么整个 or 逻辑符就返回 True 了

所以这里遇到 2 适合就将 or 返回了,则 3 的这个条件实际上就被 “短路” 了

这里也提下 and ,and 记着只有条件全 True 时,返回 and 右边的值,但只要有一个条件为 False 就 and 逻辑符结果就返回 0

qq1151985918 发表于 2021-1-27 21:02:53

本帖最后由 qq1151985918 于 2021-1-27 21:04 编辑

[已解决]请问这一段逻辑运算符怎么理解?
https://fishc.com.cn/thread-189434-1-1.html
(出处: 鱼C论坛)
页: [1]
查看完整版本: python中3 or 0 输出3是啥意思?