|
发表于 2020-10-29 11:16:11
|
显示全部楼层
你把简单问题复杂化了
其实就是短路逻辑的事儿。若不想听短路逻辑,或者不懂短路逻辑,还有更简单的解释。
and就是逐个判断表达式的逻辑值,遇到False则停止,否则就一直判断到结尾,然后返回最后一个判断的表达式的值
or 就是逐个判断表达式的逻辑值,遇到True则停止,否则就一直判断到结尾,然后返回最后一个判断的表达式的值
- 1 and 'abd' and '' and True #逐个判断表达式的逻辑值,到第三个表达式的时候,发现 '' 的逻辑值为False,结束,并返回所判断的最后一个表达式的结果''
- [2,3,0] and 'Love' and 7 #逐个判断表达式的逻辑值,没有遇到为False的表达式所以一直判断的结尾,然后返回所判断的最后一个表达式的值 7
- 0 or [] or 3 or 'Time' # 逐个判断表达式的逻辑值,到第三个表达式的时候,其逻辑值为True,结束,并返回所判断的最后一个表达式的值3
- [] or 0 or '' # 逐个判断表达式的逻辑值,没有遇到为True的表达式,所以一直判断的结尾,然后返回所判断的最后一个表达式的值 ''
复制代码 |
|