Я знаком с тройным оператором Python:
value = foo if something else bar
Мой вопрос очень прост: без предварительных назначений, все равно нужно ссылаться на термин, который оценивается в (if ...
), из одного из возвращаемых операндов (... if
или else ...
)?
Мотивация здесь в том, что иногда я использую выражения в if ...
, которые именно то, что я хотел бы иметь в результате тройной операции; бывает, хотя для небольших выражений нет проблем, повторяющих его, но для немного более длинных выражений это выглядит несколько неприятно. Возьмем это как пример:
value = info.findNext("b") if info.findNext("b") else "Oompa Loompa"