每天学点Python之布尔类型
Python中的布尔类型有两个常量True和False表示。
布尔值转化
Python中的布尔值是可以转化为数值的,True表示1,而False表示0,可以对其进行数值运算,但不建议这么做,会引起代码的混乱。
真值测试
在Python中所有的对象都可以进行真值测试,下面罗列一下判断为假的情况:
- None
- False
- 数值中的零,包括0,0.0,0j(虚数)
- 空序列,包括空字符串(”),空元组(()),空列表([])
- 空的字典{}
- 自定义的对象的实例,该对象的__bool__方法返回False或者__len__方法返回0
除了以上的情况外,所有的对象在if或者while语句中的表现都为真。
布尔操作
在Python中布尔值可以进行或、且、否三种操作,与很多语言不同的是,Python中不是用符号,而是用英文单词来表示,分别是or、and和not。
需要注意的是or和and都支持短路操作,如果or的左边返回True,则右边就不会判断;同理如果and左边返回False,右边也不会进行判断。
not的优先级很低,not a == b表示的是not (a == b),而表达式a == not b会直接报错,需要加括号a == (not b)。
比较操作
通过比较操作会返回布尔类型的值。除了普通的比较操作外,Python还支持is操作来判断两个对象是否是同一个对象,下面是Python支持的所有的比较操作:
| 操作符 |
|---|

本文详细介绍了Python中的布尔类型,包括布尔值转化为数值、真值测试规则、布尔操作如or、and和not的短路行为,以及比较操作中的is操作符。同时提到操作符重载的概念,指出这将在学习object时进一步探讨。
最低0.47元/天 解锁文章
443

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



