在python中,运算3 and 4的结果为4,然而3 or 4的结果却为3,这就涉及到python中逻辑运算符的短路逻辑了。
and 和 or 这两个运算符都是遵从短路逻辑的。
短路逻辑的核心思想就是:从左往右,只有当第一个操作数的值无法确定逻辑运算的结果时,才对第二个操作数进行求值。
以 3 and 4 为例,3 的结果为 True,但 and 要求两边都为 True 是结果才是 True,所以此时并没有完成整个判断,解释器会继续判断下一个对象的结果是True还是False(补充:0进行输出为False)。思考下图尝试理解短路逻辑:
如果是or那么如果第一个对象为Ture那么结果就为第一个对象的值,如果第一个对象为False那么会向后继续判断(参照and思考这样做的原因),思考下图理解该逻辑:
总结题:尝试判断下图的输出结果
(最终答案:第一个为0,第二个为5)