作业帮 > 综合 > 作业

Python中a,b = b,a+b 和 a=b b=a+b的区别?

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/04/30 23:45:12
Python中a,b = b,a+b 和 a=b b=a+b的区别?
def fib(max):
\x09n,a,b = 0,0,1
\x09while n < max:
\x09\x09print b
\x09\x09a= b
\x09\x09b = a + b
\x09\x09n = n+1
\x09\x09
def fib1(max):
\x09n,a,b = 0,0,1
\x09while n < max:
\x09\x09print b
\x09\x09a,b= b,a+b
\x09\x09n = n+1
fib(3),fib1(3)这个两个输出的结果不一样.
我可不可以这样理解.a,b= b,a+b 同步执行了 a = b 和b = a+b.a值还是0
而 a= b b = a + b这是先执行了a = b ,之后执行了b = a+b.a值通过赋值已经是1了
Python中a,b = b,a+b 和 a=b b=a+b的区别?
a,b=b,a+b 相当于:
temp=b #先保存b的原值
b=a+b #赋b新值
a=temp #将b的原值赋予a
实际就是C语言中的数据交换过程,也可理解为先计算右边后赋值.