1.python的 a,b=b,a+b 和 a=b b=a+b 的区别

2019/10/09 14:49
阅读数 12
 1 n1,a1,b1=0,0,1
 2 while n1<6:
 3     print(b1,end=' ')
 4     a1,b1=b1,a1+b1
 5     n1=n1+1
 6 print()
 7 
 8 n2,a2,b2=0,0,1
 9 while n2<6:
10     print(b2,end=' ')
11     a2=b2
12     b2=a2+b2
13     n2=n2+1
14 ###################################
15 D:\untitled\project2\venv\Scripts\python.exe D:/untitled/project2/day1/342432.py
16 1 1 2 3 5 8 
17 1 2 4 8 16 32 
18 Process finished with exit code 0

可见上面的输出结果是不一样的。那么为什么呢?

a,b=b,a+b 这个公式是赋值运算,先右边的运算,然后再给左边的赋值。

 1 a = 0
 2 b = 1
 3 a , b = b , a + b 
 4 # 这种赋值,先计算等值 右边 就是 b=1 a+b=0+1=1
 5 # 再赋值给a和b,那么 a=1, b=1
 6 # 然后就是依次这样
 7 #################################
 8 a = b
 9 # 此时a=1
10 b = a + b
11 # b=1+1=2

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部