Jak działa operator przecinka Pythona podczas przypisywania?

Czytałem instrukcje przypisania w dokumentach Pythona (http://docs.python.org/reference/simple_stmts.html#assignment-statements ).

Cytuje się, że:

Jeśli celem jest lista docelowa ujęta w nawiasy lub nawiasy kwadratowe: Obiekt musi być iterowalny z taką samą liczbą elementów, jak cele na liście docelowej, a jego elementy są przypisywane od lewej do prawej do odpowiedniej cele.

Po przeczytaniu go pomyślałem o napisaniu takiej próbki:

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

Moje założenie było takie, że aib powinny mieć wartość 9.

Udowodniono jednak, że się mylę. „a” ma wartość 9, a „b” ma wartość 5.

Czy ktoś może mi pomóc lepiej to zrozumieć? Dlaczego starsza wartość „a” jest przypisana, a nie nowa? Zgodnie z dokumentami wartość a zostanie przypisana jako pierwsza? Czy czegoś mi brakuje?

questionAnswers(3)

yourAnswerToTheQuestion