a = x is None and 1 or 2
a = x is None and 1 or 2
setoyА если мне вот так надо:
Ну, почему так ненавидите простое, деревенское
if condition:
…
else:
…
:rolleyes:
Так все намного понятнее выглядит. Оператор ? я не полую и в С.
Error=1
print "Windows must %s!"%(IIF(Error, "die", "live"))
lorienя в курсе, что такое оператор is. “x is None” здесь – это пример логического высказывания. 1 – это значение возвращаемое конструкцией в случае истинности высказывание. 2, соответственно, – в случае ложности.
А то что вы показали, проверяет x на эквивалентность None
j2aМая Вас не панимать, какие ошибки?
BION, пример плохой. Ошибки надо исключениями обрабатывать.
Error=1
print "Windows must %s!"%(IIF(Error, "die", "live"))
error = 1
print 'Windows must %!' % (error and 'die' or 'live')
BIONЯ про контекст. Дескать, в error лежит код ошибки, и в зависимости от этого, показывать die или live. Я к тому, что если это ошибка то ее нужно обрабатывать исключением. Если это состояние, то нужно иметь словарь {код_состояния: описание_состояния} и не изгаляться с ‘… and … or’ или придумывать велосипеды в виде IIF. Если это вывод отладочной информации, то лучше вывести код “как есть”, а не интерпретировать его словами.j2aМая Вас не панимать, какие ошибки?
BION, пример плохой. Ошибки надо исключениями обрабатывать.Error=1
print "Windows must %s!"%(IIF(Error, "die", "live"))
j2aДа господь с Вами, я совсем не имел ввиду обработку ошибок, это просто переменная для примера проверки условия.
Я про контекст. Дескать, в error лежит код ошибки, и в зависимости от этого, показывать die или live. Я к тому, что если это ошибка то ее нужно обрабатывать исключением. Если это состояние, то нужно иметь словарь {код_состояния: описание_состояния} и не изгаляться с ‘… and … or’ или придумывать велосипеды в виде IIF. Если это вывод отладочной информации, то лучше вывести код “как есть”, а не интерпретировать его словами.
P.S. Смысл в том, что пример использования тернарного оператора или его эмуляции явно неудачный.