当我评估以下操作时
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))
