python中x,y交换值的问题

今天碰到了python和其他语言不同的问题:赋值语句 x,y,z=1,2,3,执行 z,x,y=y,z,x 后,x、y、z 中分别含有什么值?

我想的是 x=2  y=2  z=2

可调试后应该是:x=3  y=1  z=2

因为python在赋值之前已经事先对x和y的新值做了计算。

在C或其他语言中,交换两个值:

/* C语言中两个变量交换 */

tmp = x;

x = y;

y = tmp;

在python中直接交换即可:

x,y = 1,2

x,y = y,x

原文地址:https://www.cnblogs.com/mzct123/p/6026493.html