Skip to main content
 首页 » 编程设计

python 三元运算符行为

2025年05月04日8Terrylee

当我评估以下操作时

0 if True else 1 + 1 if False else 1 

它的计算结果为 0 但是当我用括号写的时候

( 0 if True else 1 ) + ( 0 if False else 1 ) 

它正确地评估为 1 ,第一种情况发生了什么。

请您参考如下方法:

0 if True else 1 + 1 if False else 1 

实际上是:

(0) if (True) else ((1 + 1) if (False) else (1)) 

这肯定与您想要的不同:

((0) if (True) else (1)) + ((1) if (False) else (1))