正常其他语言交换变量要:
cpp
temp = a;
a = b;
b = temp;
Python 直接:
python
a, b = b, a
这个写法常用于写菲波那切数列:
python
# 打印所有小于100的斐波那契数
a, b = 0, 1
while a < 100:
print(a)
a, b = b, a+b
a, b = b, a+b 利用 Python 元组解包,先计算右侧所有值,再一次性赋值,不需要临时变量。
| 步骤 | 执行 a, b = b, a+b 之前 |
计算说明 | 执行后新的 a 和 b |
|---|---|---|---|
| 第 1 次 | a=0, b=1 |
右边先算:b=1,a+b=0+1=1,再分别赋值 |
a=1, b=1 |
| 第 2 次 | a=1, b=1 |
右边先算:b=1,a+b=1+1=2,再分别赋值 |
a=1, b=2 |
| 第 3 次 | a=1, b=2 |
右边先算:b=2,a+b=1+2=3,再分别赋值 |
a=2, b=3 |
| 第 4 次 | a=2, b=3 |
右边先算:b=3,a+b=2+3=5,再分别赋值 |
a=3, b=5 |