如果在python中赋值,则为一行

时间:2015-07-20 12:14:11

标签: python conditional-expressions

关注此主题One line if-condition-assignment

有没有办法缩短那里的建议陈述:

num1 = (20 if intvalue else 10)

如果指定的值在条件中是相同的值?

这就是它现在的样子:

num1 = (intvalue if intvalue else 10)

intvalue出现两次。有没有办法只使用intvalue一次并获得相同的声明?更优雅的东西?

1 个答案:

答案 0 :(得分:6)

您可以在此处使用or

num1 = intvalue or 10

or 短路;如果第一个表达式为true,则返回该值,否则返回第二个值的结果。