执行 x,y = y,x 可以实现变量 x 和 y 值的互换这个为什么对的
时间: 2023-11-27 13:05:24 浏览: 156
Python3之不使用第三方变量,实现交换两个变量的值
5星 · 资源好评率100%
这是因为 Python 中的变量赋值是通过对象引用来实现的。当我们执行 `x,y = y,x` 时,Python 解释器会先将右侧的表达式 `y,x` 转换为元组 `(y,x)`,然后将该元组解包成两个变量 `x` 和 `y`。在解包时,Python 会先将元组中的第一个元素 `y` 赋值给左侧的第一个变量 `x`,然后将元组中的第二个元素 `x` 赋值给左侧的第二个变量 `y`,这样就实现了变量 `x` 和 `y` 值的互换。
这个技巧还可以用于同时交换多个变量的值,例如:
```
a, b, c = c, a, b
```
这样就可以将变量 `a`、`b` 和 `c` 的值互换。
阅读全文