一尘不染

Python a,b = b,a + b

python

这是我的第一个问题,我开始学习Python。之间有什么区别:

a, b = b, a + b

a = b
b = a + b

在下面的示例中编写时,它显示不同的结果。

def fib(n):
    a, b = 0, 1
    while a < n:
        print(a, end=' ')
        a, b = b, a + b
    print()
fib(1000)

def fib(n):
    a, b = 0, 1
    while a < n:
        print(a, end=' ')
        a = b
        b = a + b
    print()
fib(1000)

阅读 154

收藏
2020-12-20

共1个答案

一尘不染

在中a, b = b, a + b,在将右侧的表达式赋给左侧之前对其求值。因此,它等效于:

c = a + b
a = b
b = c

在第二个示例中,运行a时已更改的值b = a + b。因此,结果是不同的。

2020-12-20