Есть ли в Python тернарный оператор?


#1

В C# например возможно написать такое выражение:

int a = 5 < 9 ? 1 : 0;

Что будет означать

int a = -1;
if(5 < 9)
{
a = 1;
}
else
{
a = 0;
}

Есть ли нечно подобное в Python? Может, тоже своего рода тернарный оператор, или альтернатива ему?


#2

Вообще как такового тернарного оператора в Python нет и врядли будет. В роли тернарного оператора как правило выступают обыкновенные условные конструкции if / else, и функционал у них впринципе идентичный.

Как пример приведу программку:

def main():
    a = 5
    b = 7
    c = None
c = 0 if a > b else 1
print(c)

if name == 'main':
main()

Вывод:

1
Press any key to continue . . .

Сейчас поменяем значения переменных и попробуем ещё разок:

def main():
    a = 8
    b = 7
    c = None
c = 0 if a > b else 1
print(c)

if name == 'main':
main()

Вывод, ожидаемо:

0
Press any key to continue . . .

#3

Спасибо большое)