我正在浏览伯克利加州大学提供的计算机课程中的一些实验室材料,并遇到了一些关于 python 测试问题形式的示例。
1和2和3回答3
我一直盯着它看,直到我手指发红,但无济于事..有人可以指导我看一些解释这一点的文档吗?我不知道这里到底发生了什么..
我正在浏览伯克利加州大学提供的计算机课程中的一些实验室材料,并遇到了一些关于 python 测试问题形式的示例。
1和2和3回答3
我一直盯着它看,直到我手指发红,但无济于事..有人可以指导我看一些解释这一点的文档吗?我不知道这里到底发生了什么..
请参阅语言参考:
所有其他值都被解释为 true。
例如,数字 > 0 被解释为真。
该表达式
x and y
首先计算x;如果x为假,则返回其值;否则,评估y并返回结果值。
返回其实际值(不是解释值)。
x
如果 x和y
y 都为真,则返回真;如果其中一个为真,则while
x
或y
返回。如果全部为真,则
类似地多次and
返回。true
从文档:
表达式 x 和 y 首先计算 x;如果 x 为假,则返回其值;否则,评估 y 并返回结果值。
表达式 x 或 y 首先计算 x;如果 x 为真,则返回其值;否则,评估 y 并返回结果值。
bool(1) = True
, 只要bool(0) = False
在 Python 中,所有非 0 的数字都被评估为True
. 只有 0 被评估为False
。在这段代码中,1 and 2 and 3
真正评估为True and True and True
. 因此,它必须返回True
。现在我们知道 3 与True
- 这就是解释器返回 3 是正确的原因。那么,当它可以让生活变得轻松并返回时,为什么它会返回 3True
呢?这就是 python 的方式——它返回最后一个评估值。希望这能回答你的问题!