学习笔记之a,b=b,a+b与a=b,b=a+b的区别
兔子序列中用到的常用的计算方法:a,b=b,a+b
当我们真正去运行的时候,会发现它与a=b,b=a+b是有区别的
实例代码如下:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
def YY(one): a,b,n=0,1,0 while(n<one): print(b,end=' ') a,b=b,a+b #a,b同时运行,此时b赋值给a,a等于1.a+b赋值给b,b==0+1==1 n+=1 print(a) YY(3) print(' ') #加一个空格好分辨 def YY1(two): x,y,count=0,1,0 while (count<two): print(y,end=" ") x=y #y赋值给x,即x等于y等于1 y=x+y #x+y赋值给y,即y等于x+y等于1+1等于2 count+=1 print(x) YY1(3) 运行结果: 1 1 1 1 2 2 1 1 2 2 4 4
旁边的解释很清楚,当运行a,b=b,a+b时,赋值给b的时候,a的数值还是a
而运行a=b,b=a+b时,赋值给b时,a的数值已变为b
这样的逻辑可以理解了吧