Wie funktioniert Pythons Komma-Operator während der Zuweisung?

Las ich die Zuordnung von Aussagen in die Python docs ( http://docs.python.org/reference/simple_stmts.html#assignment-statements ).

In dass es ist zitiert, dass:

Wenn das Ziel ein Ziel-Liste in Klammern eingeschlossen oder in eckigen Klammern: Das Objekt muss ein durchsuchbar mit der gleichen Anzahl von Elementen, wie es die Ziele in der Ziel-Liste, und seine Elemente zugeordnet sind, von Links nach rechts, um die entsprechenden Ziele.

Nachdem es zu Lesen, ich dachte zu schreiben, ein Beispiel wie dieses:

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

Meine Vermutung war, dass a und b beide sollte der Wert von 9.

Ich bin jedoch als falsch erwiesen. 'a' hat den Wert 9 und 'b' hat den Wert 5.

Kann jemand mir helfen das besser verstehen? Warum der ältere Wert von 'a' zugewiesen wird, anstatt die neuen? Wie pro die docs, ein Wert zugewiesen werden, erst Recht? Bin ich etwas fehlt?

InformationsquelleAutor der Frage thiruvenkadam | 2012-07-16

Schreibe einen Kommentar