【发布时间】:2017-01-05 23:39:47
【问题描述】:
我有一个工作条件语句:
if True:
pass
else:
continue
我想把它变成三元表达式:
pass if True else continue
但是,Python 不允许这样做。任何人都可以帮忙吗?
谢谢!
【问题讨论】:
-
你的例子毫无意义。
标签: python conditional ternary
我有一个工作条件语句:
if True:
pass
else:
continue
我想把它变成三元表达式:
pass if True else continue
但是,Python 不允许这样做。任何人都可以帮忙吗?
谢谢!
【问题讨论】:
标签: python conditional ternary
第 1 点:你确定你的情况是正确的吗?因为if True 将永远是True 并且代码永远不会转到else 块。
第 2 点:pass 和 continue 不是表达式或值,而是一个动作而不是你不能使用这些是一行。相反,如果你使用,3 if x else 4
【讨论】:
pass 和 continue 是语句,不能在三元运算符中使用,因为运算符需要表达式,而不是语句。在 Python 中,语句不会计算为值。
尽管如此,您仍然可以像这样缩短您带来的条件:
if False: continue
【讨论】:
三元表达式用于计算值; pass 和 continue 都不是值。
【讨论】: