解法一

利用一个中间变量做桥梁

# 假设a=1,b=2,目标实现两数交换
a=1
b=2
print(a,b) # 结果为1 2
c=a
a=b
b=c
print(a,b) # 结果为2 1

解法二

不利用中间变量

# 假设同上
a=1
b=2
print(a,b) # 结果为1 2
a=a+b # 将a+b的和保存在a里面
b=a-b # a+b的和去掉b剩下的就是a,然后把它赋给b
a=a-b # 此时a里面仍是a+b的和,b里面是原来a的值,a+b的和去掉原来a的值剩下的就是原来b的值,然后赋给a
print(a,b) # 结果为2 1

解法一和解法二在其他语言中也可使用

解法三

此法为python特有

# 假设同上
a=1
b=2
print(a,b) # 结果为1 2
a,b=b,a # b,a相当于一个元组,只不过省略了括号,即a,b=(b,a)
print(a,b) # 结果为2 1

执行效果:
1