
Bool类型是Python内置的基本类型,我们经常使用比较操作符逻辑操作符表达式配合条件判断语句或while循环语句去实现代码逻辑,这个语言特性我想大家已经信手拈来,用得熟的不能再熟了。
比如:
a a != []这个表达式其实返回的是bool类型,其值是False。这段代码很简单,大家都懂,不过这里还有个更优雅的写法。
a 大家觉得奇怪吗?a是个list对象,但是放到了if语句里面,感觉他被转换成了bool类型。这就是python里的一个特性,其实对象也可以有"真假"属性。
内置类型的真假
让我们看看python里常用的内置类型中,什么情况下其值是真值或者假值。
序列(list, string, tuple)对象为空(长度为0)时就是假值。字典类型(dictionary)对象为空(长度为0)就是假值。set集合对象为空(长度为0)就是价值。 反之,这些类型不为空就是真值,所以判断这些似容器类型为空不为空的时候,就不需要用操作符了。
数字类型,整形int为0是假值,浮点型0.0为假值,反之是真值。
bool()
你可以使用内置函数bool(),检查对象是真值还是假值,比如 bool([])返回False,bool("1")返回True.
__bool__
你可以重写函数__bool__(),去定制化你自己类型的真假值条件。
比如:
class 运行结果
True
False
2124

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



