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\x09def fib1(max):\x09n,a,b = 0,0,1\x09while n < max:\x09\x09print b\x09\x09a,b= b,a+b\x09\x09n
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/19 21:00:58
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\x09def fib1(max):\x09n,a,b = 0,0,1\x09while n < max:\x09\x09print b\x09\x09a,b= b,a+b\x09\x09n
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的区别?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\x09def fib1(max):\x09n,a,b = 0,0,1\x09while n < max:\x09\x09print b\x09\x09a,b= b,a+b\x09\x09n
a,b=b,a+b 相当于:
temp=b #先保存b的原值
b=a+b #赋b新值
a=temp #将b的原值赋予a
实际就是C语言中的数据交换过程,也可理解为先计算右边后赋值.