def fibonacci(num):
a=0
b=1
for i in range(num):
a, b=b, a+b
print a
循环内的线如何工作? 某种程度上& b的价值变化,似乎可以理解如何......
编辑: 出于某种原因,我感到困惑,认为b = b的中间exp是新的...... 没看好.. 它确实是(a,b)=(b,a + b)这是python中交换的基本形式(:
答案 0 :(得分:5)
b, a+b
创建一个元组
将此元组解压缩回a
和b
答案 1 :(得分:2)
此行a, b = b, a+b
相当于(a, b) = (b, a+b)
,这是一个元组赋值。
答案 2 :(得分:2)
有问题的行可以更清晰地写入(通过右侧的元组包装和左侧的序列拆包):
(a, b) = (b, a + b)
由于a和b的分配是并行执行的,因此与:
完全相同new_a = b
new_b = a + b
a = new_a
b = new_b