989 B
989 B
title | localeTitle |
---|---|
Python Truth Value Testing | Python真值测试 |
可以测试任何对象的真值,用于if
或while
条件或布尔运算的操作数,如and
, or
,或not
。
以下值被视为false:
None
False
- 任何数值类型的零,例如,
0
,0.0
,0j
,Decimal(0)
Fraction(0, 1)
- 任何空序列,例如
''
,()
,[]
,set()
,range(0)
。 - 任何空映射,例如
{}
。 - 用户定义的类的实例,如果该类定义
__bool__()
或__len__()
方法,则该方法返回False
或0
。
所有其他值都被认为是真的 - 所以许多类型的对象总是正确的。
除非另有说明,具有布尔结果的操作和内置函数总是返回0
或False
表示false, 1
或True
表示true。 (重要的例外:布尔运算or
and
始终返回其中一个操作数。)