Одна строка, если присваивание в Python
Следуя этой теме Одна строка if-условие-присваивания
Есть ли способ сократить предлагаемое утверждение там:
num1 = (20 if intvalue else 10)
в случае, если назначенное значение является тем же самым в условии?
вот как это выглядит сейчас:
num1 = (intvalue if intvalue else 10)
intvalue
появляется дважды. Есть ли способ использовать intvalue
только один раз и получить такое же утверждение? что-то более элегантное?
1 ответ
Решение
Ты можешь использовать or
Вот:
num1 = intvalue or 10
or
короткие замыкания; если первое выражение истинно, это значение возвращается, в противном случае возвращается результат второго значения.