【发布时间】:2017-01-23 12:02:44
【问题描述】:
我正在学习python,我有一个问题:
有什么区别
a,b = 0,1
for x in range(100):
print(a)
a=b
b=a+b
和
a,b = 0,1
for x in range(100):
print(a)
a,b = b, a+b
第一个结果不好,但是为什么?
【问题讨论】:
-
这很适合用笔和纸完成。记下变量的值,然后逐步更新它们。
-
在第一个示例中,您先为 A 分配一个新值,然后再为 B 分配一个值。在第二种情况下,您同时进行。
-
因为
a已更改,因此a + b将有所不同。在将结果应用到左侧之前,赋值计算右侧的结果。