1171527218 发表于 2022-2-21 18:33:19

关于and,or数字与数字对比的原理

请问为什么1 and 2,得出的就是2;
                1 or 2,得出的就是1;
                Ture and 1,得出的就是1;
                Ture or 1,得出我的就是Ture;
                False and 1,得出的就是False;
                False or 1,得出的就是1.

wp231957 发表于 2022-2-21 18:46:56

本帖最后由 wp231957 于 2022-2-21 18:50 编辑

请问为什么1 and 2,得出的就是2;
                1 or 2,得出的就是1;
                Ture and 1,得出的就是1;
                Ture or 1,得出我的就是Ture;
                False and 1,得出的就是False;
                False or 1,得出的就是1.

比如 1and   2因为1是真值,所以还要看2是否真值,因为2也是真值,所以表达式值是2
比如falseor1因为false是假值,所以还要看后面的,后面的1是真值,所以表达式值是1
其余类同

ckblt 发表于 2022-2-21 18:48:45

wp231957 发表于 2022-2-21 18:46
请问为什么1 and 2,得出的就是2;
                1 or 2,得出的就是1;
                Ture and 1 ...

false是假值,要看后面的吧

wp231957 发表于 2022-2-21 18:49:54

ckblt 发表于 2022-2-21 18:48
false是假值,要看后面的吧

整差了,手机发贴就是不行

1171527218 发表于 2022-2-21 18:51:51

wp231957 发表于 2022-2-21 18:46
请问为什么1 and 2,得出的就是2;
                1 or 2,得出的就是1;
                Ture and 1 ...

能麻烦说的详细一点吗?我还是不明白。。。{:5_94:}

wp231957 发表于 2022-2-21 18:54:35

本帖最后由 wp231957 于 2022-2-21 18:57 编辑

1171527218 发表于 2022-2-21 18:51
能麻烦说的详细一点吗?我还是不明白。。。

1 and 2,得出的就是2;表达式值是真,所以看后
                1 or 2,得出的就是1;表达式值为真,所以看前面
                Ture and 1,得出的就是1;表达式值为真,所以看后面
                Ture or 1,得出我的就是Ture;表达式值为真,所以看前面
                False and 1,得出的就是False;表达式值为假,所以看前面
                False or 1,得出的就是1.表达式值为真,所以看????这个需要验证

isdkz 发表于 2022-2-21 18:55:34


这是and 和 or 的短路机制
and:左边的表达式的值为False时(False,[],0,(),{},'',None 等相当于False的值),and逻辑运算表达式的值就是它左边的表达式的值,因为与运算一假则假,没必要再看右边的了,否则and表达式就是右边表达式的值

or:    左边的表达式的值为True时(除False,[],0,(),{},'',None等以外的值),or逻辑运算表达式的值就是它左边的表达式的值,因为或运算一真则真,没必要再看右边的了,否则or表达式就是右边表达式的值

1171527218 发表于 2022-2-21 18:58:37

wp231957 发表于 2022-2-21 18:54
1 and 2,得出的就是2;表达式值是真,所以看后
                1 or 2,得出的就是1;表达式值为真 ...

我想在请问一下,and,or在这个数字与数字之间对比的作用是什么?

wp231957 发表于 2022-2-21 18:59:35

1171527218 发表于 2022-2-21 18:58
我想在请问一下,and,or在这个数字与数字之间对比的作用是什么?

看看⑦楼吧,我这手机发贴不行

1171527218 发表于 2022-2-21 19:00:44

isdkz 发表于 2022-2-21 18:55
这是and 和 or 的短路机制
and:左边的表达式的值为False时(False,[],0,(),{},'',None 等相当于F ...

单独一个数字怎么知道是Ture还是False?

wp231957 发表于 2022-2-21 19:01:33

1171527218 发表于 2022-2-21 18:58
我想在请问一下,and,or在这个数字与数字之间对比的作用是什么?

实际上我感觉用表达式计算,没啥意义,andor   
还是用在if条件判断里是王道

1171527218 发表于 2022-2-21 19:01:48

wp231957 发表于 2022-2-21 18:59
看看⑦楼吧,我这手机发贴不行

谢谢

wp231957 发表于 2022-2-21 19:02:06

1171527218 发表于 2022-2-21 19:00
单独一个数字怎么知道是Ture还是False?

数字只有0是假,其余都是真

isdkz 发表于 2022-2-21 19:02:51

1171527218 发表于 2022-2-21 19:00
单独一个数字怎么知道是Ture还是False?

数字型的是非0即True,0即False,其它数据类型的是非空即True,空即False

你想看一个数值是True还是False可以用 bool() 函数

1171527218 发表于 2022-2-21 19:04:20

wp231957 发表于 2022-2-21 19:02
数字只有0是假,其余都是真

那就是and语句式时,真就看右边。假就看左边;
          or语句时,真就看左边,假就看右边。
是这个意思吗?

1171527218 发表于 2022-2-21 19:52:04

isdkz 发表于 2022-2-21 19:02
数字型的是非0即True,0即False,其它数据类型的是非空即True,空即False

你想看一个数值是True还是 ...

那就是and语句式时,真就看右边。假就看左边;
          or语句时,真就看左边,假就看右边。
是这个意思吗?

isdkz 发表于 2022-2-21 19:54:09

1171527218 发表于 2022-2-21 19:52
那就是and语句式时,真就看右边。假就看左边;
          or语句时,真就看左边,假就看右边。
是这个 ...

对的,and语句的值,只要左边为假就是左边的值,否则就是右边的值,
             or语句的值,只要左边为真就是左边的值,否则就是右边的值

1171527218 发表于 2022-2-21 19:55:19

isdkz 发表于 2022-2-21 19:54
对的,and语句的值,只要左边为假就是左边的值,否则就是右边的值,
             or语句的值,只要左 ...

谢谢

isdkz 发表于 2022-2-21 19:56:48

1171527218 发表于 2022-2-21 19:55
谢谢

不客气{:5_110:}
页: [1]
查看完整版本: 关于and,or数字与数字对比的原理