前面我们了解到,布尔类型是Python的基础数据类型,布尔类型只有True和False两种值,本节课我们学习布尔类型的集中运算。
布尔类型是Python的基础数据类型,布尔类型只有True和False两种值
与运算
只有两个布尔值都为 True 时,计算结果才为 True。
True and True
True and False
False and True
False and False

或运算
只要有一个布尔值为 True,计算结果就是 True。
True or True
True or False
False or True
False or False

非运算
把True变为False,或者把False变为True:
not True
not False

我们学习这些运算有什么用呢?计算机程序是由无数的逻辑分支组成的,通过布尔运算,可以在计算机中实现条件判断,根据计算结果为True或者False,计算机可以自动执行不同的后续代码,因此学习布尔运算也是非常有必要的
布尔类型还可以与其他数据类型(字符串,数字等)做 and、or和not运算 例:
a = True
print(a and 0 or 99) # ==> 99

得到的计算结果不是布尔类型,而是数字99,这是为什么呢?
因为Python把0、空字符串和None看成False,其他数值和非空字符串都看成True,所以:
True and 0计算结果是0
继续计算0 or 99计算结果是 99
因此,结果是99。
需要注意的是,not计算的优先级是高于and和or的True and not False # ==> True
True and not False # ==> True
在上述布尔计算中,先计算not False = True,然后再计算True and True,因此得到True的结果
短路计算
- 在计算
a and b时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b - 在计算
a or b时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b
所以Python解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果
本文介绍了Python中布尔类型的三种运算:与、或、非,以及短路计算的概念。布尔类型是Python的基础数据类型,运算结果决定程序执行的逻辑路径。布尔运算还可与其他数据类型结合,Python将特定值视为False,其余视为True。短路计算在确定运算结果后不再进行后续计算,有助于提高效率。

1265

被折叠的 条评论
为什么被折叠?



