【发布时间】:2021-01-06 05:18:15
【问题描述】:
以下两个表达式使用 if...else...
我能理解 c2 结果。但我想知道为什么 c1 返回不同的结果。
a = 10
c1 = 10 + a if a > 20 else -a
c2 = 10 + (a if a > 20 else -a)
print(c1, c2)
输出:
-10 0
【问题讨论】:
-
c1被评估为c1 = (10+a) if a>20 else -a因此输出为-10 -
当您不清楚复杂的表达式值时,只需检查运算符优先级,或简单地添加所有括号,甚至是多余的括号,以确保不会出现混淆。
标签: python if-statement expression evaluation