Почему запрещается использовать утверждения с обеих сторон тернарной переменной 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
Можете ли вы привести пример, где разрешение оператора, которое будет использоваться в тройном, может быть опасным или неопределенным?