Python ドキュメント ( http://docs.python.org/reference/simple_stmts.html#assignment-statements )の割り当てステートメントを読んでいました。
その中で、次のように引用されています。
ターゲットが括弧または角括弧で囲まれたターゲット リストの場合: オブジェクトは、ターゲット リスト内のターゲットと同じ数のアイテムを持つ iterable である必要があり、そのアイテムは左から右に対応するオブジェクトに割り当てられます。ターゲット。
それを読んだ後、私は次のようなサンプルを書くことを考えました:
a = 5
b = 4
a, b = a + b, a
print a, b
私の仮定では、a と b の値はどちらも 9 である必要があります。
しかし、私は間違っていることが証明されています。「a」の値は 9、「b」の値は 5 です。
これをよりよく理解するのを手伝ってくれる人はいますか?新しい値ではなく、古い値の 'a' が割り当てられるのはなぜですか? ドキュメントに従って、 a の値が最初に割り当てられますか?何か不足していますか?