![人工智能基础教程:Python篇(青少版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/783/26846783/b_26846783.jpg)
上QQ阅读APP看书,第一时间看更新
2.3 布尔型
前文已经提到过布尔类型的数据,布尔型只有True和False两种值。接下来,可以通过程序2.4来看看到底什么是True,什么是False。
程序2.4:
![](https://epubservercos.yuewen.com/EFD799/15289821505523106/epubprivate/OEBPS/Images/aa0363.jpg?sign=1738849047-Ct1z3eFjDQ2yIlVentcitT0NEq8V4m1U-0-b5c7f71a6f2b47470172c58194e05c5c)
输出:
![](https://epubservercos.yuewen.com/EFD799/15289821505523106/epubprivate/OEBPS/Images/aa0364.jpg?sign=1738849047-1nDC2oUkcAFshzq2rtGOysErt4gGUGaP-0-699b003d24431f73fb5f60a7150dc5fd)
分析:
程序中的第1行和第2行将True和False输出,可以发现它们就是True和False。第4、5行用到了第1章学到的and运算符,从它们的输出结果可以看出and运算符的特性。第4行的输出结果是一个字符串second,为什么结果不是布尔值?这是因为Python将0、空字符" "和None看成False,而其他数值和非空字符串都看成True。
再看看第5行的输出结果,它只是输出了False,这是因为and的“短路”特性,and发现它的第一段是False就不会再往后算而是直接返回False。接下来再看看第7行的输出结果,没错,or也有“短路”特性,or发现第一段为真之后就不会继续计算而是直接输出True。