python 代码没看懂。逐步解释这段代码

python code not understand. Step by Step explanation of this code

a,b=1,2
a,b=b,a=a,b
print(a,b)
# 2 1

如果有人可以逐行解释这段代码,请帮助我

好的!所以,第 1 行:

a,b = 1,2

这基本上创建了两个变量a和b,并在等号的另一边从左到右为它们赋值。所以,a = 1,b = 2。

第 2 行基本上交换了周围的所有内容。正如我所见,每个数量(例如 a、b 或 b、a)都等于其他东西。例如,如果 a,b = 1,2 而你说 a,b = b,a 你基本上是在说 a,b = 2,1 所以 a 变成 2,b 变成 1。当你打印它时,这就是你得到.

我认为交换会像 a,b=b,a 那样发生。但是,第 2 行没有发生交换。转换第 2 行如下。

a, b = b, a = a, b
  1. a,b --> (1,2)
  2. a,b=(1,2)
  3. b,a=(1,2)

就像给变量赋值一样。

等于a=b=c=1.

a=1, b=1, c=1