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

Python中and布尔运算符结果疑问:为何返回True?

问题解答

你的问题出在对代码执行顺序和输出内容的混淆上:

  • 当你执行print(3 < 4) and (6 < 5)时,Python会先运行print(3 < 4):这个操作会在控制台输出True(因为3 < 4的结果是布尔值True),但print函数本身的返回值是None。
  • 接下来Python会计算None and (6 < 5):在布尔上下文里,None等价于False,而6 < 5的结果也是False,所以整个表达式的实际结果是False——但你看到的True只是print语句单独输出的内容,并不是整个and运算的结果。

如果要正确计算并打印(3 < 4) and (6 < 5)的结果,应该把整个布尔表达式放在print函数的括号里:

print( (3 < 4) and (6 < 5) )

运行这段代码,你会得到符合预期的False。

内容的提问来源于stack exchange,提问作者Jaime Cordoba

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 17:07:42