Ответ 1
Это самое близкое к тому, что вы ищете:
value = 'Test' if 1 == 1 else 'NoTest'
В противном случае этого не будет.
По какой-то причине я не могу вспомнить, как это сделать - я считаю, что существует способ установить переменную в Python, если условие было истинным? Я имею в виду следующее:
value = 'Test' if 1 == 1
Если он надеется установить значение "Test", если условие (1 == 1) истинно. И с этим я собирался протестировать несколько условий для установки разных переменных, например:
value = ('test' if 1 == 1, 'testtwo' if 2 == 2)
И так далее только для нескольких условий. Возможно ли это?
Это самое близкое к тому, что вы ищете:
value = 'Test' if 1 == 1 else 'NoTest'
В противном случае этого не будет.
Вы также можете сделать:
value = (1 == 1 and 'test') or (2 == 2 and 'testtwo') or 'nope!'
Я предпочитаю так: D
Нет. Python имеет тройную конструкцию if
/else
, но нет способа условно связать имя в инструкции присваивания.
value = [1, 2][1 == 1]
;)
... ну, я думаю, это тоже сработает: value = ['none true', 'one true', 'both true'][(1 == 1) + (2 == 2)]
Не совсем хорошая практика программирования или читабельный код, но забавный и компактный, по крайней мере. Python рассматривает логические значения как числа, поэтому True равен 1, а False равен 0. [1, 2][True] = 2
, [1, 2][False] = 1
и [1, 2, 3][True + True] = 3
Менее очевидный, но приятный на вид термин:
value = ("No Test", "Test")[1 == 1]