- 任何非零数字或者非空对象都为真.
- 数字零2,空对象以及特殊对象None都被认作是假.
- 比较和相等测试会递归第应用在数据结构中
- 比较和相等测试会返回True或False(1和0的特殊版本)
- 布尔and和or运算符会返回真或者假的操作对象
>>> 2<3,3<2
(True, False)
- 短路计算
>>> 2 or 3,3 or 2
(2, 3)
>>> 2 or 3,4 or 3
(2, 4)
>>>
>>> [] or 3
3
>>> [] or []
[]
>>> [] or {}
{}
>>>
>>> 2 and 3,3 and 2
(3, 2)
>>> [] and {}
[]
>>> 3 and []
[]
>>
- 在第一个示例中,2,3两个操作数都是真,Python左边操作返回这个操作数,后两个示例中,左边操作数为假,所以只会计算右边的操作数并将其返回.在结果知道时,and运算会立即停止.由左到右计算操作数,并且停在第一个为假的对象上.