Python 链式赋值:为什么结果是 (3, 2, 1) 而不是 (1, 2, 3)?

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)?的详细内容,更多请关注其它相关文章!