我正在阅读 Python 文档(http://docs.python.org/reference/simple_stmts.html#assignment-statements)中的赋值语句。
其中引述如下:
如果目标是括在括号或方括号中的目标列表:该对象必须是与目标列表中的目标具有相同数量的项目的可迭代对象,并且其项目从左到右分配给相应的目标。
看完之后,我想到了写一个这样的示例:
a = 5
b = 4
a, b = a + b, a
print a, b
我的假设是 a 和 b 的值都应该是 9。
然而,事实证明我错了。“a”的值为 9,“b”的值为 5。
有人可以帮助我更好地理解这一点吗?为什么分配“a”的旧值而不是新值?根据文档,将首先分配 a 的值,对吗?我错过了什么吗?