You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中表达式-1 < 2 == 1为何返回False?

为什么-1 < 2 == 1在Python中返回False?

Python的比较运算符支持链式比较,这是它和不少其他语言的差异点。你之前误以为表达式会被拆解为(-1 < 2) == 1,但实际上Python会把a < b == c这类连续比较解析为a < b and b == c,也就是同时验证前后两个比较条件是否都成立。

放到你的例子里,-1 < 2 == 1等价于:

-1 < 2 and 2 == 1

拆分计算两个子条件:

  • -1 < 2的结果是True
  • 2 == 1的结果是False

True and False的逻辑与运算结果就是False,这就是最终输出为False的原因。

如果想按照你最初的思路计算,需要手动添加括号改变运算优先级:

(-1 < 2) == 1

此时True == 1会返回True——因为Python里布尔类型是整数的子类,True对应整数1,False对应整数0。

内容的提问来源于stack exchange,提问作者Talha Tayyab

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 15:45:34