1.短路计算问题
在廖雪峰的python教程中有关于短路计算的解释为:
1. 在计算 a and b 时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。
2. 在计算 a or b 时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。
这里我将此“短路计算”提取为“影响计算”,即and和or的值为起决定作用的那个值。
a and b时:
如果a为true,起决定作用的是b(b为true时,整个结果为true;b为false时,整个结果为false),所以返回的是b
如果a为false,起决定作用的就是a,因为无论b为true还是false,整个结果都因为a为false而为false,所以返回的是a
a or b时也是同理:
如果a为true,起决定作用的就是a,因为只要a为true,整个结果都是true,所以返回的是a
如果a为false,起决定作用的就是b,因为整个结果都是b,返回的也是b
以上叙述得知,and和or运算的取值都是取决于起决定因素的那个值的
#4、短路运算面试题: >>> 1 or 3 1 真or假 --》真 1 >>> 1 and 3 3 真and假 --》假 3 >>> 0 and 2 and 1 0 假and真--》假0 后续一样不用做了 --》假0 >>> 0 and 2 or 1 1 真and假--》假2or真--》真 1 >>> 0 and 2 or 1 or 4 1 假 and 真--》假0 or真 --》真1 or不用做了 --》1 >>> 0 or False and 1 False False and真--》False or不用做 --》假 False