Использование выражений по обе стороны тернарного условного выражения в питоне
Почему запрещено использовать операторы по обеим сторонам тернарного условия Python? Я не вижу какой-либо очевидной причины, по которой некоторые из следующих наивных синтаксических примеров могут быть неоднозначными или неработоспособными - но я уверен, что должна быть веская причина, почему это запрещено!
>>> x, y = 0, 0
>>> (x += 1) if random.choice([0, 1]) else (y += 1)
^
SyntaxError: invalid syntax
>>> (x if random.choice([0, 1]) else y) += 1
SyntaxError: can't assign to conditional expression
>>> print 'hello world' if random.choice([0, 1]) else raise StandardError()
File "<stdin>", line 1
print 'hello world' if random.choice([0, 1]) else raise StandardError()
^
SyntaxError: invalid syntax
Можете ли вы привести пример, когда использование оператора в троице может быть опасным или плохо определенным?