首页 > 其他 > 详细

复习知识点-没搞清楚的总结

时间:2020-06-02 00:26:37      阅读:40      评论:0      收藏:0      [点我收藏+]

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
1and 真--》假0 or真 --》真1 or不用做了 --》1

>>> 0 or False and 1
False 
False and真--》False or不用做 --》假 False

 

复习知识点-没搞清楚的总结

原文:https://www.cnblogs.com/xiao-zang/p/13028547.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!