Python中的bool类型
bool本质上是数值的,它包含两个值True和False,就是整数1和0的定制版,只不过打印时有所不同。在内部,名称True和False是bool的实例,而bool实际上只是内置整数类型int的子类(从面相对象发的角度来看)。
>>>type(True)
<class 'bool'>
>>>ininstance(True, int)
True
>>>True == 1
True
>>>True is 1
False
>>>True or False
True
>>>True + 4
5
- 数字如果等于零为假,反之则为真。
- 其他对象如果为空则为假,反之则为真。
编写:
if X:
这样的测试,等同于下面:
if X != '':
Python还提供一个内置函数bool,可以测试一个对象的布尔值:
>>>bool(1)
True
>>>bool('spam')
True
>>>bool({})
false
实际中,我们很少真正注意到逻辑测试所产生的布尔类型,因为if语句和其他的选择工具会自动使用布尔结果。