Python中的布尔类型只有True和False两种值
其中Python把0、空字符串''和None看成 False,其他数值和非空字符串都看成 True。
Python中有“与”“或”“非”三种运算
与运算:只有两个布尔值都为 True 时,计算结果才为 True。
或运算:只要有一个布尔值为 True,计算结果就是 True。
非运算:把True变为False,或者把False变为True。
and 和 or 运算的一条重要法则:短路计算
a = True
print a and 'a=T' or 'a=F'
#输出为“a=T”
- 在计算 a and b 时, a 是 True,则整个计算结果必定取决与 b,因此返回 b。
- 在计算 a or b 时, a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a。
所以Python解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果。
网友评论