wfjx_85 发表于 2017-12-14 15:16:32

关于and的逻辑问题

今天看完小甲鱼第6课,做练习题时发现一个问题。
>>> 1 and 3
3
>>> 0 and 1
0
>>> 1 and 0
0
>>> 2 and 3
3
>>> 4 and 3
3
包含0时,返回的是0
但是包含3时,为什么只返回3呢?

BngThea 发表于 2017-12-14 15:19:55

and 判断:
如果两者都为真,取右边那个
如果结果为假,取假

or判断:
如果左边为真,取左边
左边为假右边为真,取右边
两边都为假,取假

°蓝鲤歌蓝 发表于 2017-12-14 15:53:29

逻辑操作符有个特性:在已知逻辑表达式的真假后不进行操作。这时候返回的值就是停下那个位置的值,这叫“短路逻辑”或“惰性求值“。
and:
两边都为真才为真,当左边为真时它还会去判断右边的,所以这时返回的是右边的值;
一边为假即为假,当左边为假时,右边不论为什么都是假,所以它会直接停下,不会再去判断右边的真假,此时返回的是左边的值。

or也是一样的原理。
页: [1]
查看完整版本: 关于and的逻辑问题