核心类型复习和总结——Python中True和False的含义——布尔类型
当我们讨论真实性的话题时,还要记住第5章中介绍的Python布尔类型 bool
简单地增强了Python中true和false的概念。如在第5章中学到的:内置单词True和False只是整数1和0的自定义版本——在Python的任何地方,好像这两个单词已经被预先分配为1和0。因为这个新类型被实现的这种方式,所以它其实只是已描述过的true和false概念的一个小扩展,被设计来让真实值更明确:
- 当在真实性测试代码中被明确使用时,单词
True
和False
等价于 1 和 0,但它们让程序员的意图更清晰。 - 交互运行的布尔测试结果打印为单词
True
和False
,而非1和0,让结果类型更清晰。
在如if
的逻辑语句中不要求只使用布尔类型;所有对象本质上仍是true或false,且如果使用其它类型,本章提到的布尔概念仍和描述一样的有效。如果想更明确,Python还提供了bool
内置函数,可用来测试对象的布尔值(也就是说,是否为真——也就是,非零或非空):
>>> bool(1)
True
>>> bool('spam')
True
>>> bool({})
False
然而,在实践中,很少注意到逻辑测试产生的布尔类型,因为布尔结果被if
语句和其它选择工具自动使用。将在第12章学习逻辑语句时进一步探索布尔类型。