Python 链式赋值:为什么结果是 (3, 2, 1) 而不是 (1, 2, 3)?
python 链式赋值的迷惑
python 中链式赋值的操作可能会让人困惑。例如,执行以下代码:
a, b, c = b, c, a = c, b, a = 1, 2, 3
输出结果是 (3, 2, 1),而不是预期的 (1, 2, 3)。
为了理解原因,让我们分解代码:
c, b, a = 1, 2, 3 # 第一步
这将 c、b 和 a 分别赋值为 1、2 和 3。
b, c, a = c, b, a # 第二步
这只是交换了 b 和 c 的值,并保留 a 的值。
a = c, b, a # 第三步
这将 c、b 和 a 的值分别赋给 a。因此,a 现在等于 (3, 2, 1)。
结论
在 python 中,链式赋值是按从右向左顺序进行的。因此,最后一个赋值覆盖了所有前面的赋值。
以上就是Python 链式赋值:为什么结果是 (3, 2, 1) 而不是 (1, 2, 3)?的详细内容,更多请关注其它相关文章!