Python布尔值

4 python boolean

为什么在Python中整数和浮点数没有在布尔上下文中进行求值,等同于True?其他数据类型必须通过运算符或bool()进行评估.

Tim*_*ker 6

那不是True:

>>> print("True" if 1 else "False")
True
>>> print("True" if 0 else "False")
False
>>> print("True" if 0.0 else "False")
False
>>> print("True" if 123.456 else "False")
True
>>> print("True" if "hello" else "False")
True
>>> print("True" if "" else "False")
False
>>> print("True" if [1,2,3] else "False")
True
>>> print("True" if [] else "False")
False
>>> print("True" if [[]] else "False")
True
Run Code Online (Sandbox Code Playgroud)

只有非零数字(或非空序列/容器类型)才能评估True.