Существуют различные способы сделать троичную операцию, первым является выражение, добавленное с 2.5:
n = foo if condition else bar
Если вы хотите быть совместимым с версиями ниже 2.5, вы можете использовать тот факт, что логические значения являются подклассами int
и что True
ведет себя как 1
, тогда как False
ведет себя как 0
:
n = [bar, foo][condition]
Другая возможность состоит в том, чтобы использовать поведение операторов в Python или, точнее, поведение and
и or
:
n = condition and foo or bar