Форум сайта python.su
эмуляция тринарного оператора обычно записывается так:
a = x is None and 1 or 2
Отредактировано (Дек. 11, 2007 12:59:01)
Офлайн
Ну, почему так ненавидите простое, деревенское
if condition:
…
else:
…
:rolleyes:
Так все намного понятнее выглядит. Оператор ? я не полую и в С.
Офлайн
setoyА если мне вот так надо:
Ну, почему так ненавидите простое, деревенское
if condition:
…
else:
…
:rolleyes:
Так все намного понятнее выглядит. Оператор ? я не полую и в С.
Error=1
print "Windows must %s!"%(IIF(Error, "die", "live"))
Отредактировано (Дек. 11, 2007 22:34:26)
Офлайн
BION, пример плохой. Ошибки надо исключениями обрабатывать.
Офлайн
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')
Отредактировано (Ноя. 12, 2008 15:48:20)
Офлайн
BIONЯ про контекст. Дескать, в error лежит код ошибки, и в зависимости от этого, показывать die или live. Я к тому, что если это ошибка то ее нужно обрабатывать исключением. Если это состояние, то нужно иметь словарь {код_состояния: описание_состояния} и не изгаляться с ‘… and … or’ или придумывать велосипеды в виде IIF. Если это вывод отладочной информации, то лучше вывести код “как есть”, а не интерпретировать его словами.j2aМая Вас не панимать, какие ошибки?
BION, пример плохой. Ошибки надо исключениями обрабатывать.Error=1
print "Windows must %s!"%(IIF(Error, "die", "live"))
Отредактировано (Дек. 12, 2007 18:12:24)
Офлайн
j2aДа господь с Вами, я совсем не имел ввиду обработку ошибок, это просто переменная для примера проверки условия.
Я про контекст. Дескать, в error лежит код ошибки, и в зависимости от этого, показывать die или live. Я к тому, что если это ошибка то ее нужно обрабатывать исключением. Если это состояние, то нужно иметь словарь {код_состояния: описание_состояния} и не изгаляться с ‘… and … or’ или придумывать велосипеды в виде IIF. Если это вывод отладочной информации, то лучше вывести код “как есть”, а не интерпретировать его словами.
P.S. Смысл в том, что пример использования тернарного оператора или его эмуляции явно неудачный.
Отредактировано (Дек. 12, 2007 20:13:50)
Офлайн