python中3 or 0 输出3是啥意思?
python中3or 0 输出3是啥意思? 逻辑运算有短路运算功能3 or 0 的运算过程,先判断3是否为True,结果为True,那么则不再判断or后面的内容,直接返回3
若or前的判断结果为False,那么则会判断or后面的逻辑结果,并返回后者。
可以看看这个帖子 小甲鱼《第011讲:短路逻辑和运算符优先级》:
https://fishc.com.cn/forum.php?mod=viewthread&tid=150253&highlight=%B6%CC%C2%B7%C2%DF%BC%AD or语句,or左侧是非0优先输出左边数字,如是0则输入右边数字,都是0肯定是0
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:04 编辑
[已解决]请问这一段逻辑运算符怎么理解?
https://fishc.com.cn/thread-189434-1-1.html
(出处: 鱼C论坛)
页:
[1]