Types: 1. Truth Value Testing
1. Truth Value Testing
任何对象都可以测试真值,以用于下面的布尔运算的if
或while
条件或操作数。以下值被认为是错误的:
None
False
- 任何数字类型,例如零,
0
,0L
,0.0
,0j
。
- 任何空序列,例如
''
,()
,[]
。
- 例如,任何空映射
{}
。
- 用户定义的类的实例,如果该类定义了一个
__nonzero__()
or__len__()
方法,则该方法返回整数零或bool
值False
。[1]
所有其他值都被认为是正确的 - 所以许多类型的对象都是真实的。
除非另有说明,否则具有布尔结果的操作和内置函数总是返回0
或False
为false 1
或True
为true。(重要的例外:布尔操作or
并and
始终返回其操作数之一。)