Есть ли в Python троичный условный оператор? - PullRequest
5237 голосов
/ 27 декабря 2008

Если в Python нет тернарного условного оператора, можно ли имитировать оператор с использованием других языковых конструкций?

Ответы [ 21 ]

0 голосов
/ 26 апреля 2018

если переменная определена и вы хотите проверить, имеет ли она значение, вы можете просто a or b

def test(myvar=None):
    # shorter than: print myvar if myvar else "no Input"
    print myvar or "no Input"

test()
test([])
test(False)
test('hello')
test(['Hello'])
test(True)

выдаст

no Input
no Input
no Input
hello
['Hello']
True
...