鱼C论坛

 找回密码
 立即注册
查看: 1926|回复: 4

[已解决]关于逻辑操作符

[复制链接]
发表于 2020-4-1 14:07:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
一、为啥 0 and 1是0,而3 and 4 是4 ?
二、为啥3 or 4是3 ?
三、为啥not 1 是0 ?
最佳答案
2020-4-1 14:16:45
这是因为逻辑运算的 短路逻辑
逻辑运算从左向右,前面已经能确定整个逻辑运算式的结果是,后面的部分会被短路掉
0 and 1   先计算第一部分得到0,为假,所以后面被短路掉,返回值就是第一部分的运算结果。
3 and 4先计算第一部分,得到3,为真,需要继续计算下一部分,得到结果是4,所以返回值就是第二部分的运算结果4

Python细节之4、逻辑运算符(and、or、not)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-1 14:16:45 | 显示全部楼层    本楼为最佳答案   
这是因为逻辑运算的 短路逻辑
逻辑运算从左向右,前面已经能确定整个逻辑运算式的结果是,后面的部分会被短路掉
0 and 1   先计算第一部分得到0,为假,所以后面被短路掉,返回值就是第一部分的运算结果。
3 and 4先计算第一部分,得到3,为真,需要继续计算下一部分,得到结果是4,所以返回值就是第二部分的运算结果4

Python细节之4、逻辑运算符(and、or、not)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-1 14:16:56 | 显示全部楼层
1、and判断中,包含0返回0,不包含0返回后面一个。

2、or判断跟上面相反。

3、并非1,1代表true真值,非真代表假,返回0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-1 14:17:44 | 显示全部楼层
1:如果结果为假,则返回假值
为真返回后者
2:如果结果为假,返回假值
否则返回前者
3:not 1 就是 not True, 而非True就是False(0)了嘛
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-1 14:20:53 | 显示全部楼层
heidern0612 发表于 2020-4-1 14:16
1、and判断中,包含0返回0,不包含0返回后面一个。

2、or判断跟上面相反。

你说的不太对吧。
and判断,包含为False的值返回该运算值,没有的话返回最后一个运算值
or判断,包含为True的值,则返回该运算值,没有的话,返回最后一个运算值

为False ,不一定是0, []    ''  等都为False
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 00:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表