一、布尔值
while循环是根据条件来做判断的,只要判断条件为真,就会一直执行循环。而判断结果有两种,True(真)和False(假),叫作【布尔值】。而判断条件真假的过程,叫作【布尔运算】。看下面的代码:

false python true 取反 python 返回true false_爬虫


输出结果从上到下依次为:False、True、False、True。

前两行代码是对1和2两个数字的大小做比较,后两行是对‘今天’和‘明天’两个字符串做比较,相等便打印True,不相等打印False。

print()括号内的计算是【布尔运算】,打印出的结果True和False是【布尔值】。

再看下面的代码:

false python true 取反 python 返回true false_爬虫_02


就像print()括号内的说明,【打印结果会一直循环!】这句话会被一直打印,因为while循环后面的条件是True,所以循环内的语句会被不停地执行。

如果while后面的条件是False,则不会有任何打印结果。因为条件为False时,所以循环没有执行就结束了。

【布尔值】对于条件判断语句if也适用,看下面的代码:

false python true 取反 python 返回true false_爬虫_03


【if True】运行一次便结束,因此只打印一次【只会打印一次!】,不会进行循环。【if False】没有打印结果,直接结束判断。

二、布尔值的三种用法
1、数值的比较

前面说的print(1>2),计算机会先做一次布尔运算,判断1是否大于2,然后再把判断结果以【布尔值】的方式打印出来。

2、直接用数值做运算

看下面的代码:

false python true 取反 python 返回true false_数据分析_04


运行后打印出【你好!】,之所以能打印出是因为if后面的条件为真。整数【1】作为一个条件,被判断为True。

之所以有这样的判断结果是因为python中已经设定好什么数据为真,什么为假。假的是有限的,除了假的,剩下的都是真的。

想要判断一个数据的真假,可以使用函数bool(),用法与type()相似。在bool()的括号中输入想要判断真假的数据,然后print()打印出来。

看下面的代码:

false python true 取反 python 返回true false_数据挖掘_05


由于bool()括号中的条件判断均为假,因此打印出的结果都是【False】。

看下面代码:

false python true 取反 python 返回true false_数据分析_06


由于bool()括号中的条件判断均为真,因此打印出的结果都是【True】。

3、布尔值之间的运算

布尔值之间的运算共有五种,分别是【and】、【or】、【not】、【in】、【not in】。

先说【and】和【or】运算,分别对应数学中的“且”和“或”。

【and】表示两者中有必须都为真才为真,有一者为假便为假。【or】表示,两者中有一者为真便为真,都为假才为假。

看下面的代码:

false python true 取反 python 返回true false_数据挖掘_07


【if a>b and c】没有打印结果,因为0的判断结果是False,在and运算中整个条件结果为False,不执行if条件判断的从句。

【if a>b or c】打印结果是【True】,因为a>b的判断结果是True,虽然0的判断结果是False,但是or运算中整个条件的结果为True,因此执行print()语句。

接下来看【not】运算,用于表示相反的意思。比如【not True】等于【False】,【not False】等于【True】。

最后来说说【in】和【not in】运算。【in】的意思是判断一个元素是否在一堆数据之中,【not in】则相反。看下面的代码:

false python true 取反 python 返回true false_线性代数_08


打印的结果依次是True、False、True。

【in】和【not in】也可以用来判断字典中是否存在某个键,代码如下:

false python true 取反 python 返回true false_线性代数_09


三、一个例子

如何把布尔运算用于循环语句呢?

用循环语句计算1+2+3+…+100之和的代码,没学布尔运算时,用while循环代码写成:

false python true 取反 python 返回true false_线性代数_10


学了布尔运算后,代码写成:

false python true 取反 python 返回true false_爬虫_11


看上去区别不大,实际上第二种方法对计算机来说更简单,因为计算次数减少了。