我正在查看Python手册,并找到了一个Fibonacci-Number生成器的代码片段:
def fib(n): # write Fibonacci series up to n
a, b = 0, 1
while b < n:
print(b, end=' ')
a, b = b, a+b
print()
Run Code Online (Sandbox Code Playgroud)
输出依赖于n并返回有效的Fibonacci序列.
如果你重新设计它以单独使用变量"a"和"b":
def fib(n): # write Fibonacci series up to n
a = 0
b = 1
while b < n:
print(b, end=' ')
a = b
b = a+b
print()
Run Code Online (Sandbox Code Playgroud)
然后它将打印一个数字序列,其增加2的幂(例如1,2,4,8,1等等).
所以我想知道为什么会这样?变量的两次使用之间的实际差异是什么?