Python 带有条件语句的布尔值
Python bool values with conditional statements
为什么 bool[False]
的计算结果为真而 bool(False)
的计算结果为假?
根据 python 文档:
“任何值不为 undefined 或 null 的对象,包括值为 false 的布尔对象,在传递给条件语句时计算结果为 true。”
元组和列表都是对象,那么为什么会出现这种模棱两可的行为呢?
你是说 bool([False])
吗?非空列表的计算结果为 True
,空列表的计算结果为 False
。列表 [False]
不为空,所以它是 True
.
bool([])
的计算结果为 False
.
(False)
不是元组。您将需要使用 (False,)
。 bool((False,))
的计算结果为 True
因为它是一个非空序列。
为什么 bool[False]
的计算结果为真而 bool(False)
的计算结果为假?
根据 python 文档: “任何值不为 undefined 或 null 的对象,包括值为 false 的布尔对象,在传递给条件语句时计算结果为 true。”
元组和列表都是对象,那么为什么会出现这种模棱两可的行为呢?
你是说 bool([False])
吗?非空列表的计算结果为 True
,空列表的计算结果为 False
。列表 [False]
不为空,所以它是 True
.
bool([])
的计算结果为 False
.
(False)
不是元组。您将需要使用 (False,)
。 bool((False,))
的计算结果为 True
因为它是一个非空序列。