Как работает оператор запятой Python во время присваивания?

Я читал операторы присваивания в документации по Python (http://docs.python.org/reference/simple_stmts.html#assignment-statements ).

В том, что это цитируется, что:

If the target is a target list enclosed in parentheses or in square brackets: The object must be an iterable with the same number of items as there are targets in the target list, and its items are assigned, from left to right, to the corresponding targets.

Прочитав его, я подумал написать такой пример:

a = 5
b = 4
a, b = a + b, a
print a, b

Я предположил, что a и b оба должны иметь значение 9.

Тем не менее, я оказался неправ. & APOS; & APOS; имеет значение 9 и 'b' имеет значение 5.

Может ли кто-нибудь помочь мне лучше понять это? Почему более старое значение 'a'; назначен, а не новый? Согласно документам, значение будет назначено первым, верно? Я что-то пропустил?

Ответы на вопрос(3)

Ваш ответ на вопрос