Python三元运算顺序

山姆·克里默(Sam Creamer):
[on_true] if [expression] else [on_false]

如果expressionFalse,是否[on_true]仍被评估?

我问的原因是因为我有一个django ORM查询,[on_true]如果每次运行此行都会求值,它将以另一种方式编写。

威姆:

在检查条件的真实性之后,将仅评估条件表达式的一侧。语言参考中对此进行了保证和记录:https : //docs.python.org/3/reference/expressions.html#conditional-expressions

您可以在其中放置任何垃圾表达式,以使自己相信这一事实:

>>> wtf.errorerror - error + 1/0 if False else "potato"
'potato'

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章