Одна строка, если присваивание в Python

Следуя этой теме Одна строка if-условие-присваивания

Есть ли способ сократить предлагаемое утверждение там:

num1 = (20 if intvalue else 10)

в случае, если назначенное значение является тем же самым в условии?

вот как это выглядит сейчас:

num1 = (intvalue if intvalue else 10)

intvalue появляется дважды. Есть ли способ использовать intvalue только один раз и получить такое же утверждение? что-то более элегантное?

1 ответ

Решение

Ты можешь использовать or Вот:

num1 = intvalue or 10

or короткие замыкания; если первое выражение истинно, это значение возвращается, в противном случае возвращается результат второго значения.

Другие вопросы по тегам