Python--短路计算


一个很小的细节,可是却可以在你不注意的时候给你带来炒鸡大的麻烦!放在这里时刻提醒自己这个小坑:

例:
a = True
print(a and 'a=T' or 'a=F')    //最后结果:a=T

计算结果不是布尔类型,而是字符串 ‘a=T’,这是为什么呢?

因为Python把0空字符串''None看成False其他数值非空字符串都看成True所以:

True and 'a=T' 计算结果是 'a=T'
继续计算 'a=T' or 'a=F' 计算结果还是 'a=T'
  1. 在计算a and b 时 ,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。

  2. 在计算a or b 时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。


文章作者: Cody_
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Cody_ !
评论
 上一篇
tensorflow基础 tensorflow基础
简介:tensorflow是一个依赖于python的开源软件库,主要用于数值计算。节点(Node)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。 温馨提示:浏览链接的时候记得上飞
2018-02-24
下一篇 
Next主题优化第二弹 Next主题优化第二弹
在上一篇文章的基础之上,新增了一些常用的功能。 博文中插入图片为什么把这个优化放到第一位呢?之前我兴致勃勃的建好了博客,马上就开始写第一篇博文,噼里啪啦一阵敲过后,开始插入图片,按照Markdown语法来插入,完全加载不出来!!那好吧,
2018-02-09
  目录