bailean 发表于 2020-4-1 14:07:57

关于逻辑操作符

一、为啥 0 and 1是0,而3 and 4 是4 ?
二、为啥3 or 4是3 ?
三、为啥not 1 是0 ?

sunrise085 发表于 2020-4-1 14:16:45

这是因为逻辑运算的 短路逻辑
逻辑运算从左向右,前面已经能确定整个逻辑运算式的结果是,后面的部分会被短路掉
0 and 1   先计算第一部分得到0,为假,所以后面被短路掉,返回值就是第一部分的运算结果。
3 and 4先计算第一部分,得到3,为真,需要继续计算下一部分,得到结果是4,所以返回值就是第二部分的运算结果4

Python细节之4、逻辑运算符(and、or、not)

heidern0612 发表于 2020-4-1 14:16:56

1、and判断中,包含0返回0,不包含0返回后面一个。

2、or判断跟上面相反。

3、并非1,1代表true真值,非真代表假,返回0

qiuyouzhi 发表于 2020-4-1 14:17:44

1:如果结果为假,则返回假值
为真返回后者
2:如果结果为假,返回假值
否则返回前者
3:not 1 就是 not True, 而非True就是False(0)了嘛

sunrise085 发表于 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
页: [1]
查看完整版本: 关于逻辑操作符