首页 > 解决方案 > 评估布尔表达式时 C 和 Python 之间的差异

问题描述

考虑代码:

print( 1==2<3, (1==2)<3, 1==(2<3) )
False True True

我不明白为什么第一个表达式1==2<3被评估为 False。<和的优先级==是相同的,我猜在这种情况下,表达式是从左到右计算的。但显然,事实并非如此。

请注意,等效的 C 程序将所有三个表达式计算为 True。

标签: pythonoperator-precedence

解决方案


推荐阅读