![人工智能基础教程: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=1738912071-RVtc3dbH7lGKmRuU0EV7Fw0jPzzzwjDx-0-7c0d12aa91fc97da768f87d92d29f358)
输出:
![](https://epubservercos.yuewen.com/EFD799/15289821505523106/epubprivate/OEBPS/Images/aa0364.jpg?sign=1738912071-aYzy4nzgaUWuoNCyesCxKqGWe5WbmUyM-0-b68c143469ade6d8e47ffda259e74330)
分析:
程序中的第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。